Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 从AJAX url中删除可选参数_Jquery_Ajax_Url - Fatal编程技术网

Jquery 从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

我想使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 = `${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调用中保留所有内容,我添加了一种在一行中完成的方法