Javascript jquery:$.post成功处理程序不接受else{}
在这种奇怪的情况下,请帮帮我。 这是我第一次看到,当else{}在if()之后不起作用时({}.=)) 警报“OK”从未出现。其他一切都井然有序 如果带有jQuery.post()的请求返回错误代码,它将失败 除非脚本也调用了global.ajaxError() 方法或。从jQuery1.5开始,jqXHR对象的.error()方法 jQuery.post()返回的值也可用于错误处理 另外:如果要访问请求状态,回调函数将获取3个参数: 数据,文本状态,jqXHR。如果返回蹩脚的json,则数据为null或未定义,data.status将失败 这是正确的代码。此外,我建议您永远不要将代码放在html属性中Javascript jquery:$.post成功处理程序不接受else{},javascript,jquery,Javascript,Jquery,在这种奇怪的情况下,请帮帮我。 这是我第一次看到,当else{}在if()之后不起作用时({}.=)) 警报“OK”从未出现。其他一切都井然有序 如果带有jQuery.post()的请求返回错误代码,它将失败 除非脚本也调用了global.ajaxError() 方法或。从jQuery1.5开始,jqXHR对象的.error()方法 jQuery.post()返回的值也可用于错误处理 另外:如果要访问请求状态,回调函数将获取3个参数: 数据,文本状态,jqXHR。如果返回蹩脚的json,则数据
$.post('itemupdate.php',
{ itemname: 'test' },
function(data, status) {
if (status == 'error') {
alert('error');
}
else {
alert('OK');
}
},
'json'
);
刚刚输出了一个名为ok
if (mysql_error()) { $return_arr["status"] = 'error'; } else { $return_arr["status"] = 'ok'; } echo json_encode($return_arr);
现在一切都好了
function(data) { if(data.status == 'error'){alert('error')} if(data.status == 'ok') {alert('OK')} }
换句话说,if/else语句没有什么问题,问题是成功回调只在……嗯……成功……实际上在我的例子中——回调是在数据(脚本输出)不为空时调用的。只是生成了一个名为ok的输出!if(mysql_error()){$return_arr[“status”]=“error”;}else{$return_arr[“status”]=“ok”;}echo json_encode($return_arr);现在一切都好了!函数(data){if(data.status=='error'){alert('error')}if(data.status=='ok'){alert('ok')}}安装firebug或其他良好的javascript调试帮助,您的脚本将在回调的第一行抛出。已经在使用firebug-不喜欢它。我主要使用colorbox插件,它会带来另一个iframed窗口,因此当内容发生变化时,firebug会关闭所有标签并将我带到主窗口。
function(data) { if(data.status == 'error'){alert('error')} if(data.status == 'ok') {alert('OK')} }