からJSの配列を作成:は、私はjQueryのでは、以下のAJAX機能を持つJSON
$.post('../../afisare.php', {"fac_name" : facility_name }, function(response) {
alert(response);
});
$.ajax({
url: "../../afisare.php",
dataType: "JSON",
success: function(json){
console.log(json);
}
});
およびPHPファイルに次のエンコーディング:
$facility_name = $_POST['fac_name'];
$facility_data = getFacilities($facility_name);
$facility_data2 = json_encode($facility_data, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES);
print($facility_data2);
PHPファイル($ facility_data2)の配列必要に応じて正確に印刷します。
私の質問は、JSONと同じ要素を含むsucces関数でjavascript配列を作成するにはどうすればよいですか?
編集:$ .post関数も追加。アラートはJSONを印刷しますが、console.log(json)
は空の配列を出力します。明確にする:JSONは、getFacilities
関数が返すものに基づいて生成されます。
その後編集:私がやったのと同じ問題(最高のアドバイス:徹底的にドキュメントを読んで)を持っている人のために、ここで働く機能は次のとおりです。
$.post('../../afisare.php', {"fac_name" : facility_name }, function(json) {
data = JSON.parse(json);
console.log(data[0].facility_name);
});
私の以前の試みに問題がIということでした私は必要としているので、$ .post関数でコールバック関数を使用していませんでした(この関数は、PHPファイルにポストしている変数に直接リンクされているため、その関数の外から読み取ることはできません)。
施設データをプリントアウト – peter
funtionパラメータ 'json'には、PHPスクリプトからエコーアウトされたものがすべて含まれます。あなたは 'JSON_PRETTY_PRINT'を必要とせず、' json_encode() '関数の' JSON_UNESCAPED_SLASHES'パラメータも必要ないと確信しています。あなたは 'dataType:" JSON "を持っているので、JSONパラメータはPHPから送られたものと一致するjavascriptデータ型に自動的に変換されます。 – RiggsFolly
JSON_UNESCAPED_SLASHESを使用しました。バックスラッシュでメインポストを編集して明確にしました。 – arch1ve