CORS问题和415不支持媒体响应

时间:2015-10-08 11:57:48

标签: javascript ajax post cors

我过去曾多次读过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:地址

尝试

1 个答案:

答案 0 :(得分:1)

您声称正在发送JSON,但实际上并未传递JSON。

为此,您需要对数据进行编码:

   data: JSON.stringify({
        "name": "Paul",
        "about": "I want to fix this",
        "urls":"['paul.com', 'paul2.com']"
   }),

修复不太可能解决跨源问题。您所遵循的指令可能是针对通用REST客户端的,并且服务器不提供您在网页中执行来自JS的跨源请求所需的CORS头。 (这些是必需的,因为您没有提出请求,您要求用户的浏览器使用用户的身份进行设置)。