0

データベースクエリから、フィールド/値で返された1つのレコードを取得し、それを配列に入れています:

$arr = array();
while ($rowSearchZipCode = mysqli_fetch_array($resultSearchZipCode, MYSQLI_ASSOC)) {
    $arr[] = $rowSearchZipCode;
}

これをphpスクリプトからのエコーを介してjQuery ajax呼び出しに送り返しています。

echo print_r($arr);

$.ajax の成功パラメーターのアラート ボックスに配列を表示すると、次のような多次元配列を取得していることがわかります。

Array
(
[0] => Array
    (
        [id] => 55
        [branchName] => SBN - Some Branch Name
        [branchAddress1] => 1234 Elm St.
        [branchAddress2] => Suite 000
        [branchAddressCity] => Anywhere
        [branchAddressState] => CA
        [branchAddressZip] => 55000
        [branchAddressPhone] => 555-555-5555
        [branchAddressFax] => 555-555-4444
    )

)
1

質問 1: while ループで配列を正しく構築していますか?

質問 2: $.ajax 呼び出しで、配列からフィールド/値のペアを取得して HTML タグなどに出力するにはどうすればよいですか?

4

3 に答える 3

1

PHP側:

  • 次の正しい JSON ヘッダーを送信することを忘れないでください。

    header('Content-Type: application/json');
    
  • json_encode を使用して、配列をエコーする前にエンコードします。

    echo json_encode($myarray);
    

クライアント側の使用:

$.ajax({
    url: '<url>',
    dataType: "json", //optionnal if you correctly set the header
    success: function(data){
        for (var i in data) {
            console.log(data[i]); //data[i] are JS object
        }
    }
});
于 2013-01-22T15:59:22.273 に答える
0
Question 1: Am I building the array correctly in the while loop?

はい

Question 2: In the $.ajax call how do I get the field/value pairs from the array so that I can output them to HTML tags, etc?

以下のように AJAX 呼び出しを行う場合、配列を送信する前にjson_encodeを使用できます。

echo json_encode($arr);

jQuery jQuery.parseJSON()を使用して、AJAX 呼び出しの成功関数で配列をデコードします。優先ループを使用して配列をループします。

例:

$.ajax({
  url: myUrl,
  cache: false,
  dataType: "json",
  success: function(data){
    //use jQuery.parseJSON() & foreach goes here.
  },
  error: function(e, xhr){
    //alert('error');
  }
});

JSON (JavaScript Object Notation) は、軽量のデータ交換形式です。続きを読む.

于 2013-01-22T15:44:21.157 に答える
0

質問 1: while ループで配列を正しく構築していますか?

はい

質問 2: $.ajax 呼び出しで、配列からフィールド/値のペアを取得して HTML タグなどに出力するにはどうすればよいですか?

print_r を使用しないでくださいjson_encode。JSON は JavaScript のサブセットであり、JQuery.ajax はすぐに使用できる JavaScript オブジェクトを応答として提供します。これを強制するdataType: 'json'には、AJAX オプションに追加し、JSON をエコーする前に正しいコンテンツ タイプ ヘッダーを PHP で送信します。

header('Content-type: application/json');
于 2013-01-22T15:45:32.840 に答える