我的项目中有很多ajax调用,所以我配置了我的ajaxsetup来默认处理错误和其他一些配置:
$.ajaxSetup({ error: function(result){ ....}});
现在我所有的ajax调用都有一个url,类似这样:
$.ajax({
url: 'http://localhost/controller/action',
type: 'GET'
});
所有这些网址当然都是 http:// localhost ,所以我的问题是我是否可以配置 ajaxsetup 以便默认设置基本网址只需要在每个调用中放置它的动态部分,所以调用应该看起来像这样
$.ajax({
url: '/controller/action',
type: 'GET'
});
这将有助于从开发者转移到测试或生活
答案 0 :(得分:0)
您可以使用$ .beforeSend在请求发出之前操作数据,例如更改其上的URL。
或者您可以在像
这样的中心函数中动态获取基本网址function getBaseUrl() {
var pathArray = location.href.split('/');
var protocol = pathArray[0];
var host = pathArray[2];
var url = protocol + '//' + host + '/';
return url;
}
并且这样打电话......
$.ajax({
type: "POST",
url: getBaseUrl() + Controller + '/' + Action,
contentType: "application/json; charset=utf-8",
data: JSON.stringify({}),
dataType: 'json',
success: function (Result) {
},
error: function (Result, Status, Error) {
console.log("Error: " + Error);
}
});