如何在所有ajax调用中向URL添加参数?

时间:2012-09-07 13:00:40

标签: javascript jquery url backbone.js

我有一个使用jQuery的Backbone应用程序,并希望在所有ajax调用的URL中附加sessionId参数?

如何在Backbone或jQuery中执行此操作,可能是以全局方式而不重写Backbone.Sync?

因此,如果我有网址www.example.com/users,我希望它成为www.example.com/users?sessionId=12314q234123412

2 个答案:

答案 0 :(得分:2)

您可以使用advanced options of jQuery.ajax。在您的情况下,您应该注册一个全局prefilter来修改已发送的data。请注意仅在请求到您自己的域时执行此操作,否则可能会导致安全漏洞。

另一种选择是创建一个简单的包装函数来扩展传入的选项:

 function myAjax(options) {
     options.url = "mydomain";
     options.data = $.extend(options.data||{}, {sessionID: 12345});
     return $.ajax(options);
 }

答案 1 :(得分:1)

您可以使用全球.ajaxSend()事件。