Javascript 与CORS兼容的$.ajax post调用,带有复杂的json

Javascript 与CORS兼容的$.ajax post调用,带有复杂的json,javascript,jquery,json,cors,Javascript,Jquery,Json,Cors,我知道CORS在stackoverflow中是一个讨论得很好的话题,但我就是找不到针对我的具体案例的答案。我需要将一个复杂的json(即,具有多个层次结构,因此我必须将其字符串化并将其作为文本发送)发布到CORS服务器,服务器配置为接受CORS调用(请检查选项响应),但我不断收到CORS错误,是否有任何错误?有什么想法吗?谢谢 $.ajax({ url: '//example.com/input', type: 'post', crossDomai

我知道CORS在stackoverflow中是一个讨论得很好的话题,但我就是找不到针对我的具体案例的答案。我需要将一个复杂的json(即,具有多个层次结构,因此我必须将其字符串化并将其作为文本发送)发布到CORS服务器,服务器配置为接受CORS调用(请检查选项响应),但我不断收到CORS错误,是否有任何错误?有什么想法吗?谢谢

$.ajax({
        url: '//example.com/input',
        type: 'post',
        crossDomain: true,
        dataType: "text",
        contentType: "application/json",
        data: JSON.stringify({
          outer: [
            {
              inner: {
                data: "somedata"
              }
            }
          ],
        })
      });
选择权

Access-Control-Allow-Headers →Content-Type, If-Match
Access-Control-Allow-Max-Age →21600
Access-Control-Allow-Methods →OPTIONS, GET, POST, HEAD
Access-Control-Allow-Origin →*
Allow →OPTIONS, GET, POST, HEAD
Connection →keep-alive
Content-Length →0
Content-Type →text/html; charset=utf-8
Date →Wed, 30 Apr 2014 20:04:45 GMT
我得到的错误是:

 cannot load exampe.com/input. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'another.com'; is therefore not allowed access.



您还必须在对基础POST请求的响应中返回Access Control Allow Origin标头(不仅仅是飞行前/选项)。根据您问题的内容,我只能假设您没有这样做。

您还必须在对基础POST请求的响应中返回Access Control Allow Origin标头(不仅仅是飞行前/选项)。根据您问题的内容,我只能假设您没有这样做。

您还必须在对基础POST请求的响应中返回Access Control Allow Origin标头(不仅仅是飞行前/选项)。根据您问题的内容,我只能假设您没有这样做。

您还必须在对基础POST请求的响应中返回Access Control Allow Origin标头(不仅仅是飞行前/选项)。根据您问题的内容,我只能假设您没有这样做。

您拥有服务器端代码吗?如果是这样的话,您可以发布服务器处理程序/控制器操作的样子吗?您从服务器获得的返回代码是什么?JSON序列化是否返回任何错误?恐怕我无法共享服务器端代码,JSON序列化似乎很好,但我得到以下错误:无法加载。请求的资源上不存在“Access Control Allow Origin”标头。因此不允许访问源代码“”。您是否拥有服务器端代码?如果是这样的话,您可以发布服务器处理程序/控制器操作的样子吗?您从服务器获得的返回代码是什么?JSON序列化是否返回任何错误?恐怕我无法共享服务器端代码,JSON序列化似乎很好,但我得到以下错误:无法加载。请求的资源上不存在“Access Control Allow Origin”标头。因此不允许访问源代码“”。您是否拥有服务器端代码?如果是这样的话,您可以发布服务器处理程序/控制器操作的样子吗?您从服务器获得的返回代码是什么?JSON序列化是否返回任何错误?恐怕我无法共享服务器端代码,JSON序列化似乎很好,但我得到以下错误:无法加载。请求的资源上不存在“Access Control Allow Origin”标头。因此不允许访问源代码“”。您是否拥有服务器端代码?如果是这样的话,您可以发布服务器处理程序/控制器操作的样子吗?您从服务器获得的返回代码是什么?JSON序列化是否返回任何错误?恐怕我无法共享服务器端代码,JSON序列化似乎很好,但我得到以下错误:无法加载。请求的资源上不存在“Access Control Allow Origin”标头。因此,不允许访问源“”。服务器确实发送了标头,上面的响应说明了这一点?访问控制允许方法→选项、获取、发布、头部访问控制允许原点→*这看起来像是对飞行前/选项的响应,而不是对底层帖子的响应。我可能错了,但我认为CORS的工作原理是:当我们试图发布帖子时,浏览器实际上会发送一个飞行前请求,即选项到后端以获取标题来源等?由于我得到了上面的错误,所以POST请求实际上没有发出(因此没有响应),您的问题中没有列出任何错误。您需要在问题中包括实际错误以及网络请求的副本。我已用错误更新了我的原始帖子,不确定为什么我仍然收到此错误,可能与我指定的内容类型有关?顺便说一句,在服务器中,我在CORS服务器中启用了“Content Type”(从选项响应中可以看到),服务器确实发送了头,上面的响应告诉我们这一点?访问控制允许方法→选项、获取、发布、头部访问控制允许原点→*这看起来像是对飞行前/选项的响应,而不是对底层帖子的响应。我可能错了,但我认为CORS的工作原理是:当我们试图发布帖子时,浏览器实际上会发送一个飞行前请求,即选项到后端以获取标题来源等?由于我得到了上面的错误,所以POST请求实际上没有发出(因此没有响应),您的问题中没有列出任何错误。您需要在问题中包括实际错误以及网络请求的副本。我已用错误更新了我的原始帖子,不确定为什么我仍然收到此错误,可能与我指定的内容类型有关?顺便说一句,在服务器中,我在CORS服务器中启用了“Content Type”(从选项响应中可以看到),服务器确实发送了头,上面的响应告诉我们这一点?访问控制允许方法→选项、获取、发布、头部访问控制允许原点→*这看起来像是对飞行前/选项的响应,而不是对底层帖子的响应。我可能错了,但我认为CORS的工作原理是:当我们试图发布帖子时,浏览器实际上会发送一个飞行前请求,即选项到后端以获取标题来源等?由于我得到了上面的错误,所以POST请求实际上没有发出(因此没有响应),您的问题中没有列出任何错误。您需要在问题中包括实际错误以及网络请求的副本。我已经用错误更新了我的原始帖子,不确定为什么我仍然收到此错误,可能与我指定的内容类型有关