我过去曾多次读过CORS,并了解它是什么。我目前正在尝试向我提供的端点发出POST请求,但我一直收到CORS错误。
我已经确保POST请求可以由端点的所有者进行,因此我想通过查看此论坛来确认我没有做错任何事情。
这是我正在使用的最新代码:
$.post({
url: "http://working-api-apparently.com",
data: {
"name": "Paul",
"about": "I want to fix this",
"urls":"['paul.com', 'paul2.com']"
},
contentType:"application/json"
});
我还尝试使用jsonp
回调,但这不起作用,因为端点不允许GET
请求。
我提供的说明是:
POST to http://working-api-apparently.com
With Content-Type set to "application/json", and a JSON document as body with the following keys:
"name": Your real name as a String
"about": about as string
"urls": Array of Strings
我尝试在普通的javascript和jquery中编写请求。任何人都可以帮助,让我知道我做错了什么,然后我回答称由于他们的错误而无法正常工作。
此外,我是从本地计算机发出此请求,但也是从http:
地址
答案 0 :(得分:1)
您声称正在发送JSON,但实际上并未传递JSON。
为此,您需要对数据进行编码:
data: JSON.stringify({
"name": "Paul",
"about": "I want to fix this",
"urls":"['paul.com', 'paul2.com']"
}),
修复不太可能解决跨源问题。您所遵循的指令可能是针对通用REST客户端的,并且服务器不提供您在网页中执行来自JS的跨源请求所需的CORS头。 (这些是必需的,因为您没有提出请求,您要求用户的浏览器使用用户的身份进行设置)。