Django偏好(要求)默认情况下所有网址都有一个尾部斜杠。
如何配置jQuery以自动为我正在使用AJAX调用的每个url添加斜杠?
答案 0 :(得分:1)
可以通过beforeSend修改每个传出的ajax请求,如下所示:
$.ajaxSetup({
beforeSend: function(xhr, settings) {
settings.url = ensureTrailingSlash(url);
}
});
关于ensureTrailingSlash
的实现,这是一个示例实现(我还没有测试过边缘情况):
var maybeAppendSlash = function (url) {
if (url[url.length-1] !== "/") {
url += '/';
}
return url;
};
var ensureTrailingSlash = function (url) {
var parser = document.createElement('a');
parser.href = url;
parser.pathname = maybeAppendSlash(parser.pathname);
return parser.href;
};
在这个仓库中可以找到更完整的版本:
https://github.com/ustun/ensure-trailing-slash-for-jquery-ajax/blob/master/ensure_slash.js