请帮助我在这种奇怪的情况。 这是我第一次看到,其他{}在if(){}之后无效。 =)))
onClick="$.post('itemupdate.php', { itemname: 'test' }, function(data) { if(data.status == 'error'){alert('error')} else {alert('OK')} }, 'json');"
警报'OK'从不出现。其他一切都是为了。
请帮助我在这种奇怪的情况。 这是我第一次看到,其他{}在if(){}之后无效。 =)))
onClick="$.post('itemupdate.php', { itemname: 'test' }, function(data) { if(data.status == 'error'){alert('error')} else {alert('OK')} }, 'json');"
警报'OK'从不出现。其他一切都是为了。
刚做了一个叫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')} }
如果有jQuery.post的请求()返回一个错误代码,它会失败 默默的,除非剧本也被称为全球.ajaxError() 方法或。从jQuery 1.5开始,jQuery.post()返回的jqXHR对象 的.error()方法也可用于错误处理。
http://api.jquery.com/jQuery.post/
另外:如果你想访问请求状态,回调函数获取3个参数: 数据,textStatus,jqXHR。如果你返回蹩脚的JSON,你的数据为空或未定义,并且data.status会失败。
这是正确的代码。另外,我建议你永远不要把你的代码放在html属性中!
$.post('itemupdate.php',
{ itemname: 'test' },
function(data, status) {
if (status == 'error') {
alert('error');
}
else {
alert('OK');
}
},
'json'
);
换句话说,if/else语句没有问题,问题在于成功回调仅在...上调用...好...成功... – nnnnnn
正确。阅读手册也是正确的做法;) –
实际上在我的情况下 - 当数据(脚本输出)不为空时调用回调。 –