XMLHttpRequest 无法加载,不存在 'Access-Control-Allow-Origin' header(无法读取 JavaScript/jQuery 中的 Ajax 响应)
XMLHttpRequest cannot load, No 'Access-Control-Allow-Origin' header is present (Unable to read Ajax response in JavaScript/jQuery )
我正在使用 jQuery 向服务器发送 Ajax 请求,下面是代码片段。
$.ajax({
type: 'POST',
url: "https://store.example.com/account?",
data: "cf=cw&operation=update"
})
当然,“请求的页面”和“Ajax请求的URL”在同一个域中。仍然,我在浏览器控制台中看到指定的错误消息并且无法读取 JavaScript/jQuery 的响应。请帮帮我。
Error message: XMLHttpRequest cannot load
https://store.example.com/account?. No 'Access-Control-Allow-Origin'
header is present on the requested resource. Origin
'http://store.example.com' is therefore not allowed access.
请求页面和请求的 URL 是否在同一个域中。您可以尝试使用相对路径访问 url 吗?
$.ajax({
type: 'POST',
url: "/account?",
data: "cf=cw&operation=update"
})
AJAX 只有发送方和接收方的端口、协议和域相等时才可以请求,否则可能会导致 CORS。 CORS代表跨源资源共享,服务器端必须支持。
Solution
JSONP
JSONP 或 "JSON with padding" 是 Web 浏览器中 JavaScript 程序 运行 中使用的一种通信技术,用于从不同域中的服务器请求数据,这是典型的 Web 浏览器所禁止的,因为同源策略。
示例
$.ajax({
type: 'POST',
url: "https://store.example.com/account?",
dataType: 'jsonp',
success: function (data) {
//code
}
});
希望这能给你一个想法伙计..:)
我正在使用 jQuery 向服务器发送 Ajax 请求,下面是代码片段。
$.ajax({
type: 'POST',
url: "https://store.example.com/account?",
data: "cf=cw&operation=update"
})
当然,“请求的页面”和“Ajax请求的URL”在同一个域中。仍然,我在浏览器控制台中看到指定的错误消息并且无法读取 JavaScript/jQuery 的响应。请帮帮我。
Error message: XMLHttpRequest cannot load https://store.example.com/account?. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://store.example.com' is therefore not allowed access.
请求页面和请求的 URL 是否在同一个域中。您可以尝试使用相对路径访问 url 吗?
$.ajax({
type: 'POST',
url: "/account?",
data: "cf=cw&operation=update"
})
AJAX 只有发送方和接收方的端口、协议和域相等时才可以请求,否则可能会导致 CORS。 CORS代表跨源资源共享,服务器端必须支持。
Solution
JSONP
JSONP 或 "JSON with padding" 是 Web 浏览器中 JavaScript 程序 运行 中使用的一种通信技术,用于从不同域中的服务器请求数据,这是典型的 Web 浏览器所禁止的,因为同源策略。
示例
$.ajax({
type: 'POST',
url: "https://store.example.com/account?",
dataType: 'jsonp',
success: function (data) {
//code
}
});
希望这能给你一个想法伙计..:)