Javascript jQuery-解析URL GET参数以确定是否显示ajax微调器
此代码目前不起作用,但我有以下内容:Javascript jQuery-解析URL GET参数以确定是否显示ajax微调器,javascript,url,jquery,Javascript,Url,Jquery,此代码目前不起作用,但我有以下内容: App.Utils = { _spinnerDisabledAtQueryParam: function(request) { return /spinner\=false/.match(request.url); }, showSpinner: function() { return $('#ajax-status').show(); }, hideSpinner: function() { return $('
App.Utils = {
_spinnerDisabledAtQueryParam: function(request) {
return /spinner\=false/.match(request.url);
},
showSpinner: function() {
return $('#ajax-status').show();
},
hideSpinner: function() {
return $('#ajax-status').hide();
},
bindSpinnerEvents: function(request) {
$(document).on('ajaxStart', function() {
if (!App.Utils._spinnerDisabledAtQueryParam(request)) {
return App.Utils.showSpinner();
}
});
return $(document).on('ajaxStop', function() {
if ($.active === 0) {
return App.Utils.hideSpinner();
}
});
}
};
$(document).ready(function() {
return App.Utils.bindSpinnerEvents(request);
});
如您所见,我正在向bindSpinnerEvents传递一个模拟请求对象。假设我有这样一个url:
http://localhost:8080/events?event_id=1&spinner=false
如果param微调器设置为true,我要做的是不显示微调器。我试过几种不同的方法,但似乎都没能奏效。我刚开始学习jQuery/Javascript。如果您能提供任何帮助,我们将不胜感激
if (~window.location.search.search(/(?:^|[&;])spinnner=true(?:[&;]|$)/)) {
// Hide spinner.
}
如果微调器
是一个GET参数,且其值为真
,则该条件为真
~
操作符将匹配的存在转换为真实,因此我们不需要与-1
进行比较,您可以尝试类似的方法
$(document).ready( function() {
var name = 'spinner';
var value;
var regexS = "[\\?&]"+name+"=([^&#]*)";
var regex = new RegExp( regexS );
var results = regex.exec('http://localhost:8080/events?event_id=1&spinner=false');
if( results == null ){
value= "";
}
else {value = results[1]} ;
alert(value);
if(value) {
$('#ajax-status').show();
} else {
$('#ajax-status').hide();
}
};
在至少执行两个GET ajax请求之前,此代码不会拾取微调器参数。