前端想要调用后台数据,现在都是用到了ajax请求。但由于前后端分离之后不一定在同一个域名下调试访问,必然会导致跨域问题,这篇随笔不介绍跨域问题。
最近项目的开发过程中,遇到了这样的一个问题,在chrome下调试接口的时候都可以正常访问,但是在IE9下访问的时候数据都没有了,查看ajax请求过程,既然没数据,那就是请求失败了,在error的回调里打印信息,确实没进入success回调里,查阅了一些资料,得到了以下的解决方案:
1、设置浏览器安全属性,启用【通过域访问数据源】选项,步骤如下图:
设置完成之后,最好重启一下浏览器……
2、调用ajax方法时,设置crossDomain为相反的值。
$.ajax({
url: "http://dreamfactorysql.cloudapp.net/API/index.php",
dataType: "text",
async: true,
type: 'GET',
crossDomain: true == !(document.all),
success: function(txt) {
alert(txt);
}
});