CORS jQuery AJAX请求

use*_*827 29 ajax jquery request cors

我遇到了ajax请求的麻烦.我收到了错误

No 'Access-Control-Allow-Origin' header is present on the requested resource.

所以我尝试的是这个jQuery ajax请求:

var request = $.ajax({
    type: 'GET',
    url: url,
    dataType: "json",
    xhrFields: {
        withCredentials: true
    }
});
request.done(function(data){
    console.log(data);
});    
Run Code Online (Sandbox Code Playgroud)

但它仍然无法正常工作.我仍然得到错误.

我该怎么解决这个问题?

小智 51

这很容易,你应该首先设置服务器http响应头.问题不在于您的前端JavaScript代码.您需要返回此标头:

Access-Control-Allow-Origin:*
Run Code Online (Sandbox Code Playgroud)

要么

Access-Control-Allow-Origin:your domain
Run Code Online (Sandbox Code Playgroud)

Apache配置文件中,代码如下:

Header set Access-Control-Allow-Origin "*"
Run Code Online (Sandbox Code Playgroud)

在nodejs中,代码如下:

res.setHeader('Access-Control-Allow-Origin','*');
Run Code Online (Sandbox Code Playgroud)

  • 谢谢!!特别是对于节点js代码,它工作得很好.有没有办法在默认情况下设置标头而不是在每个post/get处理程序中设置它? (2认同)