WCF JSONP jQuery не передает правильный статус - PullRequest
2 голосов
/ 05 ноября 2011

Моя проблема очень прямолинейна. Я хочу, чтобы правильный код состояния передавался моим методам успеха или ошибки через результат JSONP при вызове службы WCF.

Когда WCF обрабатывает ответ jsonp, а код состояния не равен 200, он отправляет код состояния в качестве второго параметра в методе обратного вызова. Это кажется мне логичным, но я нигде не могу найти спецификации JSONP, чтобы проверить, верны ли они спецификации.

Возвращенное содержимое: jQuery123456 (null, 401); Затем jQuery воспринимает это как успех, вызывает мой метод успеха, но 401 не где найти. Я убедился в этом, выполнив console.dir (arguments);

То, что я собираюсь сделать сейчас, это переопределить имя метода обратного вызова и обработать все это сам, но я бы предпочел не делать этого.

Что-то подобное должно поддерживаться в jQuery.

Обновление: Вы не можете переопределить метод, потому что тогда jQuery считает, что произошла ошибка, и выдает сообщение об ошибке.

Ответы [ 2 ]

0 голосов
/ 04 октября 2013

Знаете ли вы, что вы не можете получить доступ к коду состояния с помощью метода JSONP, вы можете прочитать этот ответ от разработчика Angularjs, это довольно ясно: https://github.com/angular/angular.js/issues/1423#issuecomment-10768224

Thomas

0 голосов
/ 28 марта 2012

Я подозреваю, что это потому, что JQuery не может знать состояние запроса, потому что это делается с помощью тега скрипта, а не объекта XHR. '200' передается в обратный вызов done (), если вы загляните в глубины JQuery.

...