Я делаю запрос к веб-службе с помощью jQuery AJAX. Мой запрос выглядит так:
var serviceEndpoint = 'http://example.com/object/details?version=1.1';
$.ajax({
type: 'GET',
url: serviceEndpoint,
dataType: 'jsonp',
contentType: 'jsonp',
headers: { 'api-key':'myKey' },
success: onSuccess,
error: onFailure
});
Когда я выполняю это, я получаю сообщение об ошибке 403. Я не понимаю, почему мой вызов приводит к статусу кода 403. Я контролирую безопасность своей службы и отмечен как широко открытая, Я знаю, что ключ действителен, потому что я использую его в другом вызове, который работает. Вот вызов, который работает:
var endpoint = 'http://example.com/object/data/item?version=1.1';
$.ajax({
type: 'POST',
url: endpoint,
cache: 'false',
contentType:'application/json',
headers: {
'api-key':'myKey',
'Content-Type':'application/json'
},
data: JSON.stringify({
id: 5,
count:true
}),
success: onDataSuccess,
error: onDataFailure
});
Я знаю, что это две разные конечные точки. Но я на 100% убежден, что это не аутентификация на сервере или ошибка разрешения. И снова все открыто на стороне сервера. Это подразумевает, что я делаю ошибку на своем клиентском запросе.
Я чувствую, что должен сообщить, что этот запрос делается во время разработки. Итак, я запускаю это из http://localhost:3000. По этой причине я сразу же предположил, что это проблема CORS. Но все выглядит правильно. Тот факт, что мой запрос POST работает, но мой GET не делает меня абсолютно расстроенным. Я что-то упускаю? Что это может быть?