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

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

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

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

您可以使用jQuery.ajax的高级选项 。 在您的情况下,您应该注册一个全局预filter来修改发送的data 。 请注意仅在请求到您自己的域时执行此操作,否则可能是安全漏洞。

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

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

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