0
我既是sencha又是ajax新手。我試圖從連接到mysql服務器的php文件返回一些數據。當我按下按鈕時,我觸發了一個Ajax請求。Sencha ajax打電話給php文件
這裏是當按下按鈕,我煎茶代碼........
onShow: function(){
setInterval(function(){
console.log("Server pinged");
myRequest = Ext.Ajax.request({
url: 'http://localhost/getpoi.php',
method: 'GET',
params: {
poiid: '3'
},
callback: function(response) {
console.log(response.responseText);
}
});
},5000);
},
我getpoi PHP文件代碼如下.......
<?php
$poiid = $_GET["poiid"];
$lat;
$long;
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("murmuration_db", $con);
$result = mysql_query("SELECT * FROM POI WHERE id=$poiid");
while($row = mysql_fetch_array($result))
{
$lat = $row['anchor_geolocation_lat'];
$long = $row['anchor_geolocation_lon'];
}
$response = $lat. ' '. $long;
echo $response;
return $response;
mysql_close($con);
?>
php文件正在工作,因爲如果我在文件本身中將set poiid更改爲3並在瀏覽器中打開它,我會得到該位置。但如果我通過按鈕在sencha應用程序中調用它,控制檯正確地記錄了「服務器ping」,但記錄的是「未定義」而不是座標。任何想法我做錯了什麼?
在此先感謝 一個
感謝Éder對您的迴應,我嘗試了您的代碼,這對我來說很合理,但很不幸,它沒有解決問題。在網絡監視元素中它顯示getpoi.php文件的get方法沒問題。它似乎是返回部分不工作,因爲即使我將php中的poiid設置爲3,它不會將值返回給sencha應用程序,但如果我在瀏覽器中打開php文件,則會返回一個值。我難倒 – hotshots
你解決了這個問題嗎? –
還不怕。我剝離了php文件,只返回一個字符串,並簡化了調用php文件的請求,但控制檯仍然未定義日誌。如果我改變console.log(response.responseText);到console.log(response);控制檯記錄Object {url:「http://localhost/getpoi.php」,方法:「GET」}而不是undefined!不知道該怎麼辦! – hotshots