AJAX失败,尽管它'It’他没有失败
AJAX failing even though it's not failing?
我像以前一样运行AJAX函数。这次很奇怪。当XHR控制台给我200/Success时,错误回调不断发生。
function runNewprop() {
var nurl = 'http://www.mysite.com/myscript.php';
$.ajax({
url: nurl,
dataType: 'json',
success: function(data){
$('#nl_details').html('');
$each(data, function (key, value){
var mlsnum = value[0];
$('#nl_details').append('<div class="nl_list"><h5>'+mlsnum+'</h5></<div>');
});
},
error: function(){
alert('Oops!');
}
});
}
然后PHP文件:
<?php
$link = mysql_connect('localhost','username','password');
mysql_select_db('singleprop', $link);
$date = mysql_real_escape_string($_GET['date']);
$sort = mysql_real_escape_string($_GET['sort']);
$query = "
SELECT * FROM jos_mls
JOIN jos_activeagents AS active ON singleprop.jos_mls.MSTLISTBRD = active.AGENTUID
JOIN jos_agents AS agents ON active.AGENTUID = agents.AGTBRDIDMM
";
if ($date == 'week') {
$query .= "AND MSTLISTDT >= DATE_ADD(CURDATE(), INTERVAL -7 DAY)";
}
elseif ($date == 'twoweek') {
$query .= "AND MSTLISTDT >= DATE_ADD(CURDATE(), INTERVAL -14 DAY)";
}
elseif ($date == 'month') {
$query .= "AND MSTLISTDT >= DATE_ADD(CURDATE(), INTERVAL -31 DAY)";
}
elseif ($date == 'twomonth') {
$query .= "AND MSTLISTDT >= DATE_ADD(CURDATE(), INTERVAL -62 DAY)";
}
if ($sort == 'agent') {
$query .= " ORDER BY AGTLNAME";
}
elseif ($sort == 'city') {
$query .= " ORDER BY MSTCITY";
}
elseif ($sort == 'zip') {
$query .= " ORDER BY MSTZIP";
}
elseif ($sort == 'county') {
$query .= " ORDER BY MSTCOUNTY";
}
else {
$query .= " ORDER BY MSTLISTDT";
}
$query .= ";";
$result = mysql_query($query);
$data = mysql_fetch_array($result);
return json_encode($data);
mysql_close($link);
?>
我的语法中遗漏了什么吗?当我回显构建的查询并将其复制到控制台并运行时,一切都很顺利。但当我尝试通过AJAX运行时,我获得了成功/200,但错误回调发生了。
问题是PHP没有输出有效的JSON。您在ajax调用中指定了json
作为数据类型,这意味着如果jQuery无法解析生成的JSON,它将触发error
函数。
在您的PHP中,您应该回显而不返回,更改为:
echo json_encode($data);
还要验证是否没有输出其他内容(例如错误或通知消息)。
最后,正如@cyclewin所指出的,成功函数中存在$.each
语法错误,虽然这不是您的根本问题,但当您修复JSON输出时,它将成为一个问题。
成功回调中出现错误。更改以下行:
$each(data, function (key, value){
至
$.each(data, function (key, value){
相关文章:
- 当json解析空响应时,Whatwg-Fetch失败,我该如何防止它
- JsFiddle在分叉后描述失败
- Lodash懒惰链不'It’我不管用
- 为什么不'当单元测试出现解析错误时,我的因果报应测试会失败
- 当一些承诺失败时,如何继续使用$q.all()
- 失败:等待Protractor与页面同步时出错:“”;在窗口上找不到角度”;
- 在Jquery中单击传播失败
- 网页上失败的javascript会导致所有其他脚本失败
- 带有对象解析的响应javascript ajax失败
- 一台特定计算机的Ajax请求数据未定义/失败
- React Native-What'It’在任何地方都要留下逗号
- Nodejs服务器:加载资源失败:服务器的响应状态为404(未找到)
- jQuery.getJSON失败,语法错误
- reducers在redux中得到Function not Object,what'it’他错了
- ng disabled在放入多个表达式时失败
- Jasmine单元测试在监视服务方法时失败
- asp.net MVC,重定向到视图,视图打开新窗口到外部url,它'It’’’’我们被当成一种风景
- Ajax GET 请求的 URL 失败,但 hurl.it 相同 URL 的 GET 请求有效.什么给
- 分析错误失败-What'It’他错了
- AJAX失败,尽管它'It’他没有失败