【发布时间】:2018-11-05 18:47:48
【问题描述】:
我正在尝试使用 XMLHTTPRequest 进行 post 调用,并收到以下消息:
访问 XMLHttpRequest 在 'https://some-link' 来自原点 “null”已被 CORS 策略阻止:对预检请求的响应 未通过访问控制检查:没有“Access-Control-Allow-Origin” 请求的资源上存在标头。
有类似的线程说要添加 CORS 标头,我已经完成了。
我很好奇的是,这些完全相同的代码在转换为 AJAX 时可以正常工作(无需让其他人通过 CORS 配置)。 既然 AJAX 只是一个由 JavaScript 构建的框架,为什么在没有 AJAX 且完全由 JavaScript 编写的情况下会出现此消息?
var xhr = new XMLHttpRequest()
xhr.open('POST', url, true)
xhr.send(data)
对比
$.ajax({
type: 'POST',
url: 'url',
data: data
});
后者工作正常。 ajax 中有哪些额外/隐藏的实现?
【问题讨论】:
标签: javascript ajax