gpt4 book ai didi

jquery ajax 帖子说 xxx 不允许 Access-Control-Allow-Origin

转载 作者:行者123 更新时间:2023-12-01 00:48:53 27 4
gpt4 key购买 nike

我尝试使用 AJAX(post 请求)调用 eBay FindProducts API,但遇到以下错误:

XMLHttpRequest cannot load http://open.api.ebay.com/shopping?callname=FindProducts. Origin http://localhost.com/test.php is not allowed by Access-Control-Allow-Origin.

我的代码:

$.ajax
({
type: "POST",
url: 'http://open.api.ebay.com/shopping?callname=FindProducts',
dataType: ($.browser.msie) ? "text" : "xml",
contentType: 'application/x-javascript',
crossDomain : true,
data: {
'X-EBAY-API-APP-ID' : 'ebayAppId',
'X-EBAY-API-VERSION': '771',
'X-EBAY-API-SITEID': '0',
'X-EBAY-API-REQUEST-ENCODING': 'NV',
'X-EBAY-API-RESPONSE-ENCODING': 'json',
'QueryKeywords' : '753759971632',
'MaxEntries' : '3'
},
success: function (result) {
alert('success');
alert(result);
},
error: function (data) {
alert((data));
}
})

如何解决这个错误。

我尝试设置 dataType : jsonp (我知道正在检索 XML,但为了解决该错误,我将其设置为 jsonP)。它可以工作,但 jQuery 无法解析 XML,因为需要 json 响应。

最佳答案

如果您将 &responseencoding=JSON 添加到您的 URL,您将根据 docs 获得 JSON 响应

更新 Working example 。我所做的是更改为 dataType:'jsonp' 添加 jsonp:'callbackname'。因为jQuery默认调用回调参数callback,但eBay希望它被称为callbackname。您所要做的是将参数添加到数据映射中。确保使用正确的参数名称,检查文档并使用 URL 方法而不是 header 方法。希望这会有所帮助。

关于jquery ajax 帖子说 xxx 不允许 Access-Control-Allow-Origin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10692866/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com