0

jQuery 関数を使用し$.getJSONて、サイトが別のドメインのサーバーとやり取りできるようにしています。ただし、3 番目と 4 番目のデータ項目がundefined. どこに問題があるのか​​ わかりません。

JavaScript:

$.getJSON(domain_path + 'display.php?url=' + purl + '&callback=?', function(data) {

        var username = data['uname'];
        var point = data['point'];
        var email = data['email'];
        var title = data['title'];

});

emailとはですtitleundefinedunamepointは正しいです。

JSON は、次の PHP によって生成されます。

$url = mysql_real_escape_string($_GET['url']);
$result = mysql_query("SELECT * FROM user url='$url'")or die(mysql_error()); 
$row = mysql_fetch_array($result);
if($row){

    $uname = $row['uname'];
    $point = $row['point'];
    $email = $row['email'];
    $title = $row['title'];

    $output = array('uname'=>$uname,'point'=>$point,'email'=>$email,'title'=>$title);
    $out_string =  json_encode($output);
    echo $callback.'('.$out_string.');';
}

JSON の結果は次のようになります。

284927410({"uname":"john","point":"104","email":"john482@yahoo.com","title":"teacher"});

と を取得できますが、に入れるjohnと出てきます。104emailtitleundefinedalert()

私が見逃したルールはありますか?それとも、コードに何か問題がありますか?

4

1 に答える 1

0

私はあなたの環境を再現しました、そしてすべてはこのコードを使ってうまく働いています:

$.getJSON("http://localhost:8081/test", function(data) {
        alert(data.uname);
        alert(data.point);
        alert(data.email);
        alert(data.title);
    });

パスhttp://localhost:8081/testのみが返される 場所{"point":"104","title":"teacher","email":"john482@yahoo.com","uname":"john"}

于 2012-04-06T14:07:05.480 に答える