Некоторые параметры в $ .ajax не проходят - PullRequest
1 голос
/ 07 апреля 2009

У меня есть эта функция

$.ajax({
url:aurl,
method:'GET',
beforeSend:function(req) {req.setRequestHeader('Authorization', auth);},
cache:false,
dataType:"json",
error:function() {...},
success:function(t) {...}
});

Однако параметры:

  • способ
  • beforeSend
  • Cache

игнорируются моими браузерами FF3, IE8 и Chrome. Таким образом, что бы там ни было, это не меняет запрос, отправленный браузером, на заданный URL-адрес, например: не может установить метод на «POST», или, что более важно, параметр авторизации не может быть помещен как часть запроса, так что форма HTTP-авторизации обрабатывается.

Другое странное поведение заключается в том, что если DATATYPE: "JSON" не будет отправлено или получено ни запроса, ни ответа, как показано с использованием LiveHTTPHeaders в FF3. например, если dataType: "xml".

Похоже, что URL обрабатывается браузером правильно.

Как можно убедиться, что эти дополнительные параметры отправлены кому-либо с этими проблемами?

1 Ответ

2 голосов
/ 07 апреля 2009

URL удаленный или локальный?

Согласно Документация JQuery

Примечание. Все удаленные (не в том же домене) запросы должны быть указаны как GET, когда 'script' или 'jsonp' - это dataType (поскольку он загружает скрипт с использованием тега скрипта DOM). Параметры Ajax, для которых требуется объект XMLHttpRequest, недоступны для этих запросов. Функции завершения и успеха вызываются по завершении, но не получают объект XHR; функции beforeSend и dataFilter не вызываются.

, а для опции cache значением по умолчанию является «false для dataType 'script' и 'jsonp'"

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