jQUERY:将域添加到所有$ .ajax请求中

时间:2016-01-31 12:51:16

标签: jquery ajax

我有一个移动ajax丰富的网站,我想把它放到phonegap来创建“app”。 网站使用$ .ajax扩展,但要使其在pnonegap app中运行,我必须在url设置中声明域。

以下是我现在使用的常用电话:

$.ajax({
    url: '/authentication/login',
    success: function(data){}
})

这就是它应该在应用程序中运行的样子:

$.ajax({
    url: 'http://my-domain.com/authentication/login',
    headers: {'X-Requested-With': 'XMLHttpRequest'},
    success: function(data){}
})

正如您所看到的,唯一的区别是我必须设置域内联,我必须设置标头(后端需要)。

我不想在每个ajax调用中重写整个项目并设置域名,因为它会阻止开发者网站调用(当域是localhost时),所以我想知道如何修改$ .ajax以依赖某些GLOBAL - 如果是SET_DOMAIN全局存在,我想将该域名添加到每个ajax调用。与标题相同。

这样我就必须声明SET_DOMAIN和SET_HEADERS一次,并且只能在phonegap项目中执行,而不会触及常规网站。

提前致谢!

1 个答案:

答案 0 :(得分:0)

感谢@RC评论。

有$ .ajaxSetup函数可以处理这些事情:

$.ajaxSetup(
 { beforeSend: function(xhr, settings) { 
     settings.url = SET_DOMAIN + settings.url; 
     } 
 });