XHR statusText не устанавливается - PullRequest
1 голос
/ 06 апреля 2011

Что может привести к переопределению XHR? Я предполагаю, что это то, что здесь происходит.

Я устанавливаю статус и код, покажи здесь, с помощью вспомогательного класса:

 if (program.Name == programName)
 {         
    ServiceHelper.SetHttpError(501, "'Program Name' Already Exists.'");
    return;       
 }

Класс:

public static void SetHttpError(int statusCode, string message)
{
   HttpContext.Current.Response.StatusCode = statusCode;
   HttpContext.Current.Response.StatusDescription = message;
}

обработка xhr:

function CallService(method, jsonParameters, successCallback, errorCallback) 
        {
            if (errorCallback == undefined) 
            {
                errorCallback = function(xhr) {
                    if (xhr.status == 501) {
                        alert(xhr.statusText);
                    }
                    else {
                        alert("Unexpected Error");
                    }
                }
            }            

            $.ajax({
                type: "POST",
                url: method,
                data: jsonParameters,
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: successCallback,
                error: errorCallback
            });
        }

Когда-то это работало ... теперь все, что показывает предупреждение - "ошибка" , а не сообщение, которое я предоставляю ..

Есть идеи?

1 Ответ

1 голос
/ 07 апреля 2011

Какую версию jQuery вы используете? Последние документы говорят, что подпись обратного вызова ошибки:

error(jqXHR, textStatus, errorThrown)

Возможно, ваше сообщение содержит аргумент textStatus.

Вы пытались использовать FireBug , чтобы отключить функцию ошибки и посмотреть свойства xhr объекта?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...