在JQuery中启用CORS后,CORS请求被阻止

时间:2015-02-16 09:28:53

标签: javascript jquery ajax cors

修改 它是发送请求的标准Firefox Developer工具。但是响应是空的而不是状态代码。在Chrome中我也得到net :: ERR_EMPTY_RESPONSE

我正在尝试使用Javascript发送跨域AJAX请求。在发送请求之前我JQuery我已经启用了这样的CORS:

$.ajaxSetup({
            crossDomain:true,
        });

我尝试使用Fiddler发送测试请求,并在响应标头中:

 Access-Control-Allow-Origin: *
 Access-Control-Allow-Methods: *

但是我仍然无法在Firefox和Chrome中使用以下请求

   var data = {
      uid: uid,
      pwd: password,
      deviceid: deviceid,
      push: push
  };

  var settings = {
    type:"POST",
    data: data,
    success: onLoginSuccess,
    error: onLoginFailed
  };
  $.ajax(globals.getServiceURL() + "/login", settings);

在Firebug控制台中,我得到:

Cross-Origin Request Blocked: The Same Origin Policy disallows
reading    the  remote resource at (request URL goes here). 
This can be fixed by moving the resource to the same domain or enabling CORS.

如何正确启用CORS?

1 个答案:

答案 0 :(得分:-1)

请注意,Access-Control-Allow-Methods不支持“*”值。 (http://www.w3.org/TR/cors/#syntax

此外,“*”不能用于支持凭据的Access-Control-Allow-Origin。 (http://www.w3.org/TR/cors/#resource-requests

请点击链接了解有关如何从JQuery发出CORS请求的更多信息。 http://www.html5rocks.com/en/tutorials/cors/#toc-cors-from-jquery