使用javascript删除url参数
我有以下错误使用javascript删除url参数,javascript,regex,Javascript,Regex,我有以下错误 $(document).ajaxError(function (e, xhr, settings) { if ( settings.url == "/users/sign_in" ) { if (xhr.status == 401) { $('#notice_signin').html(xhr.responseText); $('#notice_signin').addClass("alert").addClass(
$(document).ajaxError(function (e, xhr, settings) {
if ( settings.url == "/users/sign_in" ) {
if (xhr.status == 401) {
$('#notice_signin').html(xhr.responseText);
$('#notice_signin').addClass("alert").addClass("alert-error");
}
}
});
问题是settings.url有不同的参数,如locale、source等。。所以settings.url从不匹配/users/sign_-in,而是/users/sign_-in?lang=fr&source=fb
什么是剥离参数的简单方法?如果您只需要它来检查url,则可以使用该方法 否则,如果希望url不带参数供以后使用,可以使用方法 请注意,这不包括在settings.url恰好为null的情况下的错误处理 作为补充说明,如果“/users/sign_in”是当前页面的路径,则可以使用window.location.pathname而不是硬编码值。是否可以尝试使用拆分 或者另一个选项可以使用子字符串
剥离的目的是什么?这样settings.url将是/users/sign_-in而不是/users/sign_-in?lang=fr
if ( settings.url.toLowerCase().indexOf("/users/sign_in")>-1)
....
var url = settings.url.split('?')[0];
if (settings.url.split('?')[0] == '/users/sign_in') {
...
}
var urlString = '/users/sign_in?lang=fr&source=fb';
var urlArray = urlString.split('?');
alert(urlArray[0]);
var settingsurl = urlArray[0];
if ( settings.url == "/users/sign_in" ) {
....
}
if ( settings.url.substr(0,settings.url.indexOf("?")) == "/users/sign_in" )