XHR对象的消息未定义,但显示正确的状态

时间:2013-11-15 16:56:08

标签: javascript php jquery ajax jquery-forms-plugin

我正在进行ajax调用,响应将是400 http错误代码。 我使用php作为服务器端语言。 我的php:

header('Content-Type: text/html',true,400);
echo $this->upload->display_errors('<p>', '</p>'); 

我的javascript:

$('#upload-form').ajaxForm({
            success: function() {
                $(".loader").hide();
                return false;
            },
            complete: function(data) {
                var imageUrls = new Array();
                var i = 0;
                jQuery.each(data, function(index, item) {
                    imageUrls[i] = item.name.toString();
                    i++;
                });
                alert(imageUrls);
                $(".loader").hide();
                return false;
            },
            error : function(xhr, status, errorMessage) {
                //alert(xhr.status);
                alert(status);
                alert(errorMessage);
                //$("#status").html(xhr.message);
                $(".loader").hide();
            }
        });

当我想显示错误消息时,它返回undefined。我使用了xhrxhr.message,但没有运气。如何将带有消息的错误代码返回到ajax调用并处理响应?

1 个答案:

答案 0 :(得分:1)

试试这个?

       error: function (xhr, textStatus, errorThrown) {
                        switch (xhr.status) {
                            case 400:
                            case 401:
                            case 402:
                            case 403:
                            case 404:
                            case 500:
                                message = xhr.responseText;
                                break;
                            default :
                                message = 'Error unKnown';
                        }
       }