我正在使用jQuery AJAX对Web服务进行查询。我的查询如下所示:

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并没有使我感到非常沮丧。我想念什么吗?会是什么呢?

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐