gpt4 book ai didi

php - AJAX 失败了,即使它没有失败?

转载 作者:行者123 更新时间:2023-11-28 16:06:19 25 4
gpt4 key购买 nike

我正在像以前一样运行 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 运行它时,我得到 success/200,但发生了错误回调。

最佳答案

问题是您的 PHP 未输出有效的 JSON。您在 ajax 调用中指定了 json 作为数据类型,这意味着如果 jQuery 无法解析生成的 JSON,它将触发 error 函数。

在你的 PHP 中,你应该回显而不是返回,更改为:

echo json_encode($data);

还要验证是否没有输出任何其他内容(例如错误或通知消息)。

最后,正如 @whirlwin 指出的那样,您在 success 函数中存在 $.each 语法错误,虽然这不是您的根本问题,但当您修复 JSON 时,它将成为问题输出。

关于php - AJAX 失败了,即使它没有失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14815345/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com