Ajax设置,基本URL

时间:2018-03-01 19:14:58

标签: jquery ajax

我的项目中有很多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'           
        });

这将有助于从开发者转移到测试或生活

1 个答案:

答案 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);
    }
});