使用此方法执行ajax很好:
$.post("http://localhost:3000/scrape",
{
data: json
},
function(data, status){
});
但这不是?
$.ajax({
type: 'POST',
url: 'http://localhost:3000/scrape',
data: json,
contentType: "application/json",
success: function(data,status){
},
async:false
});
使用$ .ajax我得到了错误 XMLHttpRequest无法加载http://localhost:3000/scrape。对预检请求的响应没有通过访问控制检查:否'访问控制 - 允许 - 来源'标头出现在请求的资源上。
我认为他们俩都一样吗?这里的问题是什么?答案 0 :(得分:4)
在第一个示例中,您正在使用application/x-www-form-urlencoded
数据发出简单请求。
在第二个示例中,您指定的内容类型不是简单请求所允许的内容类型之一,因此您触发preflighted request。
服务器正在愉快地响应POST请求,但没有响应预检OPTIONS请求。