Jquery 从AJAX url中删除可选参数
我想使ajax URL动态化,我想要的是Jquery 从AJAX url中删除可选参数,jquery,ajax,url,Jquery,Ajax,Url,我想使ajax URL动态化,我想要的是sub和nbr参数,如果它们等于All或null仅传递org\u id 我该怎么做 $.ajax({ type: "GET", url: baseURL + "/submitform/get/" + org_id + "/" + sub + "/" + nbr, success: function(res) { parseJSON(res); }); 为什么不这样做呢 let url_to_send
sub
和nbr
参数,如果它们等于All
或null
仅传递org\u id
我该怎么做
$.ajax({
type: "GET",
url: baseURL + "/submitform/get/" + org_id + "/" + sub + "/" + nbr,
success: function(res) {
parseJSON(res);
});
为什么不这样做呢
let url_to_send = `${baseURL}/submitform/get/${org_id}`;
if (sub === 'ALL') { // or 'ALL' if you meant a string rather than some declared value
url_to_send += `/${sub}`
}
if (nbr === 'ALL') { // or 'ALL' if you meant a string rather than some declared value
url_to_sned += `/${nbr}`;
}
$.ajax({
type: "GET",
url: url_to_send,
success: function(res) {
parseJSON(res);
});
将其放入一个带有nbr和sub参数的函数中,或者以您使用它的方式,url将动态生成。我通常是这样做的
如果使用es6,还可以使用模板字符串,并在其中添加三元条件,以便在ajax调用中以这种方式生成url:
$.ajax({
type: "GET",
url: `${baseURL}/submitform/get/${org_id}${(sub === 'ALL') ? `/${sub}` : ''}${(nbr === 'ALL') ? `/${nbr}` : ''}`,
success: function(res) {
parseJSON(res);
});
您可以使用
$检查它们。在_array
函数中:
var baseURL=“baseURL”;
var org_id=111;
var sub=“全部”;
var nbr=null;
var条件=['All',null];
var url=baseURL+“/submitform/get/”+org\u id;
如果($.inArray(子,条件)==-1&&$.inArray(nbr,条件)==-1){
url+=“/”+sub+“/”+nbr;
}
console.log(url)代码>
我的意思是字符串“ALL”@JKLM已编辑,如果您想在ajax调用中保留所有内容,我添加了一种在一行中完成的方法