これは、PHP ファイルを呼び出すために使用する ajax/dojo であり、データベース テーブルからデータを取得するように要求します。
var _getWeatherInfo = function(){
dojo.xhrget({
url: "PHP/weather.php?ntown=" + _ntown,
handleAs: "json",
timeout: 5000,
response: function(response, weather_info) {
_refreshWeatherList
},
error: function(error_msg, weather_info) {
_handleError(error_msg);
}
});
}
以下の次のコードは、返された json 配列オブジェクト (javascript ファイルでは "weather_info" になっています) を調べて、オブジェクトからのデータを "_weather" という javascript 配列に追加するために使用するものです。
var _refreshWeatherList = function(weather_info) {
for (var i = 0; i < weather_info.length; i++) {
_weather.push(weather_info[i]);
}
}
私の問題は次のとおりです。
アプリを実行し、「_weather」配列に警告するために使用したボタンをクリックすると、何も表示されないため、PHPリクエストから実際に適切な応答が得られているとは思いません。リクエストから適切に応答を受け取るようにコードを変更するにはどうすればよいですか。
助けてくれてありがとう。
編集:PHP:
<?php
$ntown = $_GET['ntown'];
$weather = array();
$query="SELECT * FROM `weather` WHERE `town` = '$ntown'";
$result=mysql_query($query) or die ("Query to get data from table failed: ".mysql_error());
while($row = mysql_fetch_row($result)) {
$weather = $row;
}
echo json_encode($weather);
mysql_close();
?>