2016-12-26 41 views
0

这里我想要做哪些变量不是空的,我想通过数据中的变量之一,在这种情况下区域是空的,所以我想通过城市和上市类型参数,但我不知道该怎么办?只为非AJAX数据中的非空变量传递参数

var city = "Karnadaka"; 
var area = ""; 
var listing type = "RENT"; 

$.ajax({ 
    type: 'GET', 
    url: "http://www.domain.com/api/get/searchProperties", 
    data: { 
     area: area, 
     city: city, 
     listingType: listing_type 
    }, 
    success: function(data) { 
     console.log(data); 
    } 
}); 
+3

创建一个对象,检查是否值不为空然后添加到对象'var data = {};如果(区){data.area =区域; }如果(城市){data.city =城市; } ...'而且使用这个对象来传递'data'到Ajax请求'数据:数据,' – Tushar

+0

从那里我要检查这个空与否,都请更新你的答案 –

回答

0

试试这个:

var city = "Karnadaka"; 
var area = ""; 
var listing_type = "RENT"; 

var data = {}; 

if(city != '') 
    data['city'] = city; 

if(area != '') 
    data['area'] = area; 

if(listing_type != '') 
    data['listing_type'] = listing_type; 

$.ajax({ 
    type: 'GET', 
    url: "http://www.domain.com/api/get/searchProperties", 
    data: data, 
    success: function(response) { 
     console.log(response); 
    } 
}); 
+0

Yajnesh清莱@你的代码是沃金,但同时要动态它不工作,这意味着面积是,我试图执行console.log(区)它是未来的空白让时间它不工作我有什么做的 –

+0

噢,对不起你的代码工作正常,谢谢 –

+0

感谢@SagunthalaK。如果动态代码进行任何进一步的要求,请张贴以及 –

1

可以使用delete删除属性格式对(S)中的对象

var city = "Karnadaka"; 
var area = ""; 
var listing_type = "RENT"; 

var data={ 
     area: area, 
     city: city, 
     listingType: listing_type 
    } 

for (k in data){ 
    if(data[k]=="") delete data[k]; 
} 

$.ajax({ 
    type: 'GET', 
    url: "http://www.domain.com/api/get/searchProperties", 
    data: data, 
    success: function(data) { 
     console.log(data); 
    } 
});