2016-07-19 76 views
0

有什麼辦法可以編輯$就功能,包括proprierty「數據」,當她收到任何價值,並刪除了她,當有沒有?我的意思是,動態?例如:

當有一個值的變量:

var parametro = "{id: "1"}"; 

     $.ajax({ 
      type: "POST", 
      url: url, 
      data: parametro , 
      async: async, 
    ... 

當沒有變量,或者沒有價值對她說:

var parametro = ""; 

    $.ajax({ 
      type: "POST", 
      url: url, 
      async: async, 
    ... 

所以,我的想法是這樣的事情:

$.ajax({ 
      type: "POST", 
      url: url, 
      if(parametro) 
      { 
       data: parametro, 
      },   
      async: async, 
    ... 

我嘗試過其他的東西,如:

data: undefined 
data: "" 
data: null 

但似乎沒有任何工作。發送一個空的「數據」屬性的唯一方法就是完全刪除它。因此,除了創建兩個不同的功能,一個具有「數據」屬性,另一個沒有她,還有什麼功能?

謝謝大家的關注。

+0

如果你的主要語言是葡萄牙語,它會更好,如果你發佈這樣的[StackOverflow的葡萄牙文(HTTP:// pt.stackoverflow.com/)。 –

+0

對不起,我試着翻譯這個問題。 –

+0

檢查你的條件是否存在ajax調用 –

回答

0

據我所知 我建議把if條件外$.ajax

if(parametro){ 
    $.ajax({ 
     type: "POST", 
     url: url, 
     data: parametro , 
     async: async, 
     ... 
     }); 
}else{ 
    $.ajax({ 
     type: "POST", 
     url: url, 
     async: async, 
    ... 
} 
0

嘗試這種方式,

if(parametro) 
    { 
      $.ajax({ 
      type: "POST", 
      url: url, 
      data: parametro,   
      async: false, 
      }); 
} 

如果沒有數據則沒有需要做的Ajax調用, 我認爲。

1

因爲它們都是對象,所以可以使用jQuery.extend()來擴展選項對象。

像這樣:

var parametro = { 
     id: "1" 
    }; 

var defaults = { 
     type: "POST", 
     url: url, 
     async: async, 
     ... 
    }; 

var options = $.extend(defaults, parametro); 

$.ajax(options); 

鏈接:

https://api.jquery.com/jquery.extend/