发送ajax响应的最佳实践是什么


What is best practice in sending ajax response?

我有一个Web应用程序,它调用php,因此:

    var jqxhr = 
        $.getJSON( url )
        .done( function( data, status ) {
            if( status == 'success' ) {
                rv = true;
                // initialise the user object
                app.user = new User( data );
                // post login-processing
                app.postLogin();
            } else {
                // login failed
                console.log( "autologin failed!" );
            }
        })
        .fail( function() {
            console.log( "autologin fail" );
    }); // end var jqxhr =

我想知道php脚本中的最佳实践是什么?

例如,如果一切正常,我的php将返回:

header('Content-type: application/json; charset=utf-8');
print json_encode($row);

如果出现意外错误,例如错误的SQL,我的php将返回:

header('HTTP/1.1 500 Internal Server Error');
header('Content-Type: application/json; charset=UTF-8');
etc.

在调用die()之前。然后我在.fail().中处理此问题

但是,如果我想返回一个预期错误,例如"无效的用户名或密码",该怎么办?使用"内部服务器错误"可以吗?还是应该使用某种json响应协议来通知javascript错误,并在.done()中查找此错误?

非常感谢任何建议。

感谢

迷你

我认为您应该检查来自服务器端脚本的头响应,并相应地使用switch case。例如:-如果头响应是json,则使用不同的情况;如果头响应失败,则使用ajax调用,则使用其他情况。