У меня есть php API-сервер с настройкой ниже:
, и я пытаюсь использовать сервер API ниже ajax:
$.ajaxSetup({
contentType: "application/json; charset=utf-8",
//contentType: "text/plain",
dataType: "json",
beforeSend: function (xhr) {
xhr.setRequestHeader("authorization", "Basic " + oAuthKey);
},
complete: function (xhr, status) {
//
}});
request = $.ajax({
type: "GET",
url: "http://www.example.com/testAPI/users/10004",
async: false,
});
request.done(function (response, textStatus, jqXHR) {
var msg = textStatus;
});
request.fail(function (jqXHR, textStatus, errorThrown) {
var msg = errorThrown;
});
когда я наблюдаю за активностью в Fiddler, запрос использует опции http вместо http get.я знаю, что это потому, что я устанавливаю xhr.setRequestHeader вызвать предварительный запрос.Из-за того, что API-сервер требует аутентификации, у меня нет выбора и мне нужно установить заголовок клиента.
, когда я пытаюсь выполнить вышеупомянутый запрос в Fiddler, ему удается вернуть правильные данные json.Но когда я запускаю вышеупомянутый java-скрипт в моем приложении для телефона, он возвращает ошибку.
*** В fiddler он автоматически использует http get, поэтому без ошибок.В моем приложении он продолжает использовать параметры http.