XMLHttpRequest无法加载,没有’Access-Control-Allow-Origin’标头(无法读取JavaScript / jQuery中的Ajax响应)

我正在使用jQuery向服务器发送Ajax请求,下面是代码片段。

$.ajax({ type: 'POST', url: "https://store.example.com/account?", data: "cf=cw&operation=update" }) 

当然,“请求页面”和“Ajax请求的URL”在同一个域中。 仍然,我在浏览器控制台中看到指定的错误消息,并且无法使用JavaScript / jQuery读取响应。 请帮帮我。

错误消息:XMLHttpRequest无法加载https://store.example.com/account ?。 请求的资源上不存在“Access-Control-Allow-Origin”标头。 因此,不允许原点’ http://store.example.com ‘访问。

请求页面和请求的URL是否在同一个域中。 你能尝试使用相对路径访问url吗?

 $.ajax({ type: 'POST', url: "/account?", data: "cf=cw&operation=update" }) 

只有当发送方和接收方的端口,协议和域相等时,AJAX请求才有可能,否则可能导致CORS。 CORS代表跨源资源共享,必须在服务器端支持。

JSONP

JSONP或“带填充的JSON”是在Web浏览器中运行的JavaScript程序中使用的通信技术,用于从不同域中的服务器请求数据,这是典型Web浏览器因同源策略而禁止的。

 $.ajax({ type: 'POST', url: "https://store.example.com/account?", dataType: 'jsonp', success: function (data) { //code } }); 

希望这给你一个想法伴侣.. 🙂