Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery:$.post成功处理程序不接受else{}_Javascript_Jquery - Fatal编程技术网

Javascript jquery:$.post成功处理程序不接受else{}

Javascript jquery:$.post成功处理程序不接受else{},javascript,jquery,Javascript,Jquery,在这种奇怪的情况下,请帮帮我。 这是我第一次看到,当else{}在if()之后不起作用时({}.=)) 警报“OK”从未出现。其他一切都井然有序 如果带有jQuery.post()的请求返回错误代码,它将失败 除非脚本也调用了global.ajaxError() 方法或。从jQuery1.5开始,jqXHR对象的.error()方法 jQuery.post()返回的值也可用于错误处理 另外:如果要访问请求状态,回调函数将获取3个参数: 数据,文本状态,jqXHR。如果返回蹩脚的json,则数据

在这种奇怪的情况下,请帮帮我。 这是我第一次看到,当else{}在if()之后不起作用时({}.=))

警报“OK”从未出现。其他一切都井然有序

如果带有jQuery.post()的请求返回错误代码,它将失败 除非脚本也调用了global.ajaxError() 方法或。从jQuery1.5开始,jqXHR对象的.error()方法 jQuery.post()返回的值也可用于错误处理

另外:如果要访问请求状态,回调函数将获取3个参数: 数据,文本状态,jqXHR。如果返回蹩脚的json,则数据为null或未定义,data.status将失败

这是正确的代码。此外,我建议您永远不要将代码放在html属性中

$.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')} }