由于刚接触MUI框架,所以在跨域问题上花了一点时间。希望我的方式能帮你少走点弯路(大神就直接过里吧)!
首先,遇到这个问题,各种百度。其中说法最多的是将mui,js文件里的 setHeader('X-Requested-With', 'XMLHttpRequest'); 注释掉。我这里没有将其注释,因为我相信,这个框架出来这么久了,不可能连这个问题都没处理吧(不跨域,自己玩???)。
前端部分代码:
//mui,js(Mui v3.7.0)
var reqRootUrl = "http://192.168.1.217";
mui.ajax({
url: reqRootUrl + '/api/UserLogin/QueryAccount',
data: {
AccountName: "***",
Pwd: "***",
Company: "***"
},
dataType: 'json',
type: 'post',
timeout: 30000, //超时时间设置为30秒;
headers: {'Content-Type': 'application/json'},
success: function(data) {
//服务器返回响应,根据响应结果,处理后续逻辑;
},
error: function(xhr, type, errorThrown) {
//异常处理
var _error = "";
switch(type) {
case "timeout":
_error = "服务器响应超时";
break;
default:
_error = "异常:" + type;
break;
}
mui.alert(_error);
}
});
web api代码:
[HttpPost] [EnableCors(origins: "*", headers: "*", methods: "*")] public responseObj QueryAccount([FromBody]requestObj postJson) { responseObj rObj = new responseObj(); //to do logic
return rObj; }
关于web api跨域的问题,这里不做详细说明,推荐一篇文章(这里已经很明细了)。
有什么不清楚的,可以直接留言给我。