【发布时间】:2012-10-26 18:06:25
【问题描述】:
我正在尝试在选择事件上执行 ajax 功能。基本上,我有一个 Google Maps API 连接,它根据给定的输入为我提供了一个下拉列表。当用户从结果列表中选择一个值时,必须执行 ajax 函数。基本任务:通过 Google Maps API 的给定坐标在数据库中查找结果。
由于某种原因,我无法让它工作,当到达脚本时,readyState 变为 4,状态为 200。有什么建议吗?
$('#SearchIn').autocomplete({
source: // my google maps implementation (which works correctly),
select: function(event, ui){
$(this).autocomplete('close');
$(this).val(ui.item.value);
$.ajax({
url: ABS_BASE + 'ajax/ajax-get-results-from-location.php?data=123',
success: function(result) {
console.log('success');
console.log(result);
},
error: function(jqXHR, textStatus, errorThrown) {
console.log(jqXHR);
console.log(textStatus);
console.log(errorThrown);
}
});
}
});
更新; errorThrown 是“语法错误”。 textStatus = 'parseerror' 但文件中的唯一内容是:
<?php
include './ajax-base.php';
echo 'OK I\'m here!';
有趣的是,来自 jqXHR 的 responseText 是生成的回声。
【问题讨论】:
-
如果您使用调试控制台,发出的 HTTP 请求的状态是什么?
-
您是否检查了网络请求以获取有关错误的详细信息?错误的详细信息是什么?
-
我已经更新了帖子,感谢您与我一起思考。
-
也许您的包含失败,但您的错误报告模式是静默的?
-
include 没问题,我也在另一个 ajax 调用中使用它,调用的方式与上面发布的完全一样。我糊涂了。 ://