2017-07-17 44 views
0

你好,我正在調用一個api,並且api是一個簡單的,我需要做的就是向url添加一些參數,併爲我返回一個json文件。使用jQuery將非空的東西添加到api url中

我有3個輸入字段,其ID爲 generalSearch,dateRange,ageRange。

我寫了一些jQuery的控制之下的API網址:

var query = "https://api.myurl.com/search=" 
var generalSearch = "x" 
var dateRange = "y" 
var ageRange = "z" 

jQuery.ajax({ 
     type: "GET", 
     url: query + generalSearch + dateRange + ageRange", 
     success: function(data) 
     { 
} 

是我遇到的問題是,我使用的需求API有+AND+分離該參數爲它工作。例如:

url: query + "+AND+" + generalSearch "+AND+" + dateRange "+AND+" + ageRange"

返回:

https://api.myurl.com/search=x+AND+y+AND+z

我沒有在jQuery的做到這一點最初的原因是因爲如果其中一個參數是空的,將保持+AND+和休息網址。例如,如果「generalSearch」可是沒有一個值新的URL將是:

https://api.myurl.com/search=+AND+y+AND+z

所以我在尋找與邏輯的解決方案:If a field has a value, add the value of the field and add +AND+ to the end of it but If it does not exist then dont add either one.

有什麼建議?

很抱歉,如果這個問題wasnt適當解釋我盡力

感謝

回答

3

,你可以在這裏寫turnary運營商識別天氣的參數爲空或不按那你可以在你的ajax發送值請致電 下面的片段,例如。

var query = "https://api.myurl.com/search=" 
 
var arg1="x" //it can be null as well 
 
var generalSearch = arg1? arg1 + "+AND+" : ""; 
 
console.log(generalSearch); 
 
var arg2=""; 
 
var dateRange = arg2? arg2 +"+AND+" : ""; 
 
console.log(dateRange); 
 
var ageRange = "z"

+0

感謝您的回答,但如果ageRange是零和日期範圍心不是會發生什麼?該網址的結尾處有+ AND +右鍵?那仍然會破壞它 –

+0

是的,它會在這種情況下破裂。 – Hiral

+0

aw dangit。有什麼方法可以搜索+ AND +的最後一個實例並從url中刪除它嗎? –