這是一個noob問題。PHP腳本沒有從ajax函數調用
我的javascript函數(我已經定義了knockout.js模型的一部分):
self.loadData = function(){
alert("loadData got called");
$.ajax({
url: 'database_connection.php',
dataType: 'json',
success: function(data){ //json string of records returned from server
alert('success from server call');
},
error: function(){
alert('error from server call');
}
});
};
database_connection.php的內容:
<?php
echo "this is called";
$db = new MySqli('localhost', 'username', 'password', 'database');
$activities = $db->query("SELECT * FROM MainActivity");
$activities_r = array();
while($row = $activities->fetch_array()){
$val = $row['mActivityID'];
$act = $row['Name'];
$activities_r[] = array('val'=>$val, 'act' => $act);
}
echo json_encode($activities_r);
?>
的PHP是正確的,怎麼,如果我直接訪問這個文件通過瀏覽器,它正確顯示數據庫表的結果。
然而,當通過loadData
功能執行,我得到兩個警報: 1. "loadData is called"
2. "error from server call"
沒有被執行database_connection.php的第一行,因爲我不能看到的echo
結果,所以這意味着腳本不會被調用。
我是否錯誤地使用了ajax
函數?
您使用ajax函數的方式看起來不錯。你確定'database_connection.php'可以像你調用loadData函數的地方那樣調用嗎? –
http://stackoverflow.com/questions/4064444/returning-json-from-a-php-script –
@DanBelden我不知道這將有助於OP回答他的問題。 –