A chamada AJAX do jQuery resulta no status de erro 403
Estou fazendo uma consulta a um serviço da web usando o jQuery AJAX. Minha consulta é assim:
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
});
Quando executo isso, recebo um erro de status 403. Não entendo por que minha chamada resulta no código de status 403. Estou no controle da segurança do meu serviço e está marcado como aberto. Eu sei que a chave é válida, porque estou usando-a em outra chamada, que funciona. Aqui está a chamada que funciona:
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
});
Eu sei que esses são dois pontos de extremidade diferentes. Mas estou 100% convencido de que não se trata de um erro de autenticação ou permissão no servidor. Mais uma vez, tudo está bem aberto no lado do servidor. O que implica que estou cometendo algum erro na minha solicitação do lado do cliente.
Sinto que devo comunicar que esta solicitação está sendo feita durante o desenvolvimento. Então, eu estou executando isso dehttp: // localhost: 3000. Por esse motivo, imediatamente assumi que era um problema do CORS. Mas tudo parece correto. O fato de minha solicitação POST funcionar, mas meu GET não me deixa absolutamente frustrado. Estou esquecendo de algo? O que poderia ser?