在 CakePHP 2.1 上,我有一个 ajax 请求,它得到一个空响应(用 firebug 检查)并且还触发了错误回调。
从我的 .js 中,我从 cake -same server- 外部调用一个 php,以提供我需要的一些数据库记录:
function updateDiv() {
$.ajax({
url: 'http://myserver/phpGenesi/api.php',
data: "",
dataType: 'json',
success: function(data)
{
alert(data);
},
error: function(data)
{
alert('error')
}
});
}
这是服务器上的 PHP 代码(它运行良好,不是 CakePHP,只是 PHP db 数据):
$result = mysql_query("SELECT * FROM $tableName where project_id = 101");
$array = mysql_fetch_row($result);
if (mysql_num_rows($result) > 0)
{
$responses = array();
while($row = mysql_fetch_assoc($result)) {
$responses[] = array(
'id' => $row['id'],
'name' => $row['name'],
'dir_description' => $row['dir_description'],
'project_id' => $row['project_id'],
'dir_notes' => $row['dir_notes'],
'dir_dataname' => $row['dir_dataname']
);
}
echo '{"dirs": ' . json_encode($responses) . '}';
}
当我从蛋糕外部访问相同的 php 时,我得到的结果很好,例如:
http://myserver/phpGenesi/api.php
返回我需要的东西:
{"dirs": [{"id":"240","name":"c","dir_description":"Carlos Test c","project_id":"101","dir_notes":"c","dir_dataname":"c"},{"id":"241","name":"d","dir_description":"Carlos Test d","project_id":"101","dir_notes":"d","dir_dataname":"d"}]}
如果从任何客户端文档调用也可以使用。
问题是当我从我的蛋糕文件中调用它时。Firebug 显示空响应并触发了我的 ajax 错误函数。
知道它缺少什么吗?我怎么知道发生了什么错误触发了我的错误功能?