2

ストリート名、郵便番号などの位置情報を保持するJSONオブジェクトからデータを取得しようとしていますが、divに入れようとしても何も取得されません。誰かがこれでどこが間違っているのかわかりますか?

これは、データをリクエストして取得するための私のajaxコードです

var criterion = document.getElementById("address").value;
$.ajax({
          url: 'process.php',
          type: 'GET',
          data: 'address='+ criterion,
          success: function(data) 
          {
              $('#txtHint').html(data);
              $.each(data, function(i,value)
                {
                    var str = "Postcode: ";
                    str += value.postcode;
                    $('#txtHint').html(str);
                });
            //alert("Postcode: " + data.postcode);
          },
          error: function(e) 
          {
            //called when there is an error
            console.log(e.message);
            alert("error");
          }
}); 

これをブラウザで実行すると、「郵便番号:未定義」とだけ表示されます。

これは、データベースからデータを選択するためのphpコードです。

    $sql="SELECT * FROM carparktest WHERE postcode LIKE '".$search."%'";


$result = mysql_query($sql);

while($r = mysql_fetch_assoc($result)) $rows[] = $r;
echo json_encode($rows), "\n"; //Puts each row onto a new line in the json data
4

5 に答える 5

2

データ型がありません:

$.ajax({
  dataType: 'json'
})

$.getJSONも使用できます

編集:JSONの例

$.getJSON('process.php', { address: criterion } function(data) {
    //do what you need with the data
    alert(data);
}).error(function() { alert("error"); });
于 2012-05-09T16:02:12.187 に答える
1

コードが何をしているのかを見てください。

まず、データを直接#txtHintボックスに入れます。

次に、データ要素ごとに、文字列を作成し"Postcode: "+value.postcode(存在するかどうかを確認せvalue.postcodeずに、おそらく存在しない可能性があります)、htmlを上書きします#txtHint

最終結果:スクリプトは、指示どおりに実行されます。

そのループのものを削除して、何が得られるかを確認してください。

于 2012-05-09T16:01:01.290 に答える
0

JSONデータは、同じオブジェクト構造を含む複数の行を表していますか?成功関数でデータオブジェクトに警告し、それを投稿してください。デバッグを支援します。

于 2012-05-09T16:02:49.897 に答える
0

使用

dataType: 'json'

ajax呼び出しでparamを呼び出すか、$。getJSON()を使用します。これにより、JSONデータがJSオブジェクトに自動的に変換されます。

このように成功コールバック内で$.parseJSON()を使用して、JSON応答をJSオブジェクトに自分で変換することもできます。

data = $.parseJSON(data);
于 2012-05-09T16:12:22.853 に答える
0

これはあなたのサイトで私のために働きます:

function showCarPark(){
    var criterion = $('#address').val();

    // Assuming this does something, it's yours ;)
    codeAddress(criterion);

    $.ajax({
        url: 'process.php',
        type: 'GET',
        dataType: 'json',
        data: {
            address: criterion
        },
        success: function(data)
        {
            $("#txtHint").html("");
            $.each(data, function(k,v)
            {
                $("#txtHint").append("Postcode: " + v.postcode + "<br/>");
            });
        },
        error: function(e)
        {
            alert(e.message);
        }

    });
}
于 2012-05-09T16:37:00.883 に答える