これは単純に思えますが、私はこれに慣れていないので、チュートリアルや例を何時間も読んだ後でも、実行することができません。PHPでクエリを実行し、文字列の配列を作成して、その配列をデータを呼び出したjQuery ajax()に返します。戻り配列は、データベースに格納されている文字列であり、次のようになります。
citiesWithBoroughs = [
"Dallas, Dallas County, Texas, United States",
"Fort Worth, Tarrant County, Texas, United States",
"El Paso, El Paso County, Texas, United States"
];
クエリと配列の作成コードは次のとおりです。クエリはMySQLWorkbenchで機能し、必要なデータを返します。テスト中のエラーの原因を減らすために、以下の国と州をハードコーディングしました。制御されたテストが機能するようになったら、それらを「mysql_real_escape_string($ countryAbbreviation)」などに置き換えます。
$return_arr=array();
$fetch = mysql_query("SELECT DISTINCT cityWithBoroughsGeonamed FROM places.boroughs
WHERE countryAbbreviation='US'
AND stateProvinceAbbreviation='NY'
") or die(mysql_error());
while ($row = mysql_fetch_array($fetch)){
$return_arr[]=$row['cityWithBoroughsGeonamed'];
}
echo $return_arr;
現在、Firebugはキー/値データがPHPサーバーに送られると言っていますが、空の配列が返されます。私はいくつかのことを試しましたが、何も得られないか、空の配列を取得しました-多くの試行の後。
JavaScript側では、データを要求し、返された配列を取得するajax関数を次に示します。
citiesWithBoroughs = function (request, response){
$.ajax({
url: "getCitiesWithBoroughs.php",
data: {stateProvinceAbbreviation: $("#hiddenState").val(),
countryAbbreviation: $('input[name=country]:checked').val()},
type: "POST",
dataType: "text",
success: function (data){
response;
}
});
これを正しくするために何を変更する必要がありますか?コードについて具体的に教えてください。私はこれにかなり慣れていません。