Если я ввожу параметры, я не получаю никаких успешных/ошибок/завершенных обратных вызовов, но Fiddler показывает ответ 200, и мои запрошенные json-данные есть. Это ключ. Fiddler показывает, что поездка туда и обратно была успешной, и запрошенные данные здесь находятся на стороне клиента и в хорошем состоянии. Проблема - успех магистрали/отказ/завершение не вызвано. Просто ничего не получай.
При том же базовом URL-адресе, если я выберу параметры (и удаляю их из своего веб-сервиса параллельно), запускаются как успешные, так и завершенные. Ниже приведены параметры "с":
myModel.fetch({
data: {
name: 'Bob',
userid: '1',
usertype: 'new'
}
}, {
success: (function () {
alert(' Service request success: ');
}),
error: (function (e) {
alert(' Service request failure: ' + e);
}),
complete: (function (e) {
alert(' Service request completed ');
})
});
Как может отличаться поведение базовой линии? Это тот же URL-адрес, что и с параметрами или без них.
Я предполагаю, что различие заключается в том, что под капотом в выборке с базой данных сценарий "с" параметров - это сообщение, а параметры "без" - это простой get. Консоль IE отражает это с немного отличающимся выходом.
"С параметрами" моя консоль браузера IE сообщает предупреждение (а не сообщение об ошибке, но предупреждение), что запрос требует CORS:
! SEC7118: XMLHttpRequest для http://example.com/service/myservice.asmx/myoperation?name=Bob&userid=1&usertype=new требуется перекрестный поиск ресурсов (CORS).
Я думаю, что это просто говорит мне "эй, ты сделал запрос на перекрестный поиск, и я пропустил это". "Без" параметров я не получаю этого предупреждения. У меня есть заголовки служб:
Access-Control-Allow-Origin: *
И ответы действительно возвращаются, отражая эту политику.
Итак, вопрос в том, почему не происходит успешное выполнение/ошибка/завершенные обратные вызовы с помощью "параметров"? Данные возвращаются. Не должно ли костяк отражать успех?