2013-05-09 91 views
0

我有一個jQuery的功能,使控制器中的功能AJAX調用。 控制器函數接受3個參數。 在某些時候,我需要傳遞第三個參數爲null ..因爲這將用於檢查控制器功能。發送空參數從Ajax到控制器

以下是我需要發送第3個參數值時如何調用該函數的方法。

$.ajax({ 
      type: "POST", 
      contentType: "application/json", 
      url: "/Transactions/Cancel/" + transactionID + "/" + reasonForCancel, 
      data: $.toJSON(Comment), 
      success: function (cancelInfo) { 

       } 

     }); 

現在在其他地方相同的呼叫我沒有「評論」的價值,所以我需要通過空在那裏(我在評論物體M發送一個)。 請建議我在這裏做什麼。

P.S.當無法發送null時,我無法測試功能,所以這就是我在這裏問的原因。

+0

請張貼更多的代碼,這周圍,包括控制器。 – Dogbert 2013-05-09 07:04:23

+0

如果您沒有評論值,那麼您可以使用comment ='null';只是爲了確保你即使沒有價值也能傳遞一些價值。 – Vimalnath 2013-05-09 07:06:00

回答

1

你可以試試嗎?

var myObj = null; 
if(objectIsNotNull){ 
    myObj = $.toJSON(Comment); 
} 
$.ajax({ 
    type: "POST", 
    contentType: "application/json", 
    url: "/Transactions/Cancel/" + transactionID + "/" + reasonForCancel, 
    data: myObj, 
    success: function (cancelInfo) { 
    } 

}); 
+0

爲什麼OP要「試試這個」?一個好的答案將總是解釋做了什麼以及爲什麼這樣做,不僅是爲了OP,而且是爲了將來SO的訪問者。 – 2015-08-13 11:37:22

0

試試這個...

var param1 = val1; 
    var param2 = val2; 
    var param3 = null; 
    var paramComment = ''; 
    var param = { "p1": "", "p2": "", "p3": "", "comment" : "" }; 
    param.p1= param1; 
    param.p2= param2; 
    param.p3 = param3; 
    param.comment = paramComment; 
    $.ajax({ 
     url: '/Transactions/Cancel', 
     data: JSON.stringify(param), 
     type: 'POST', 
     contentType: 'application/json;', 
     dataType: 'json', 
     success: function (cancelInfo) { 
     } 
    }); 
+0

爲什麼OP要「試試這個」?一個好的答案將總是解釋做了什麼以及爲什麼這樣做,不僅是爲了OP,而且是爲了將來SO的訪問者。 – 2015-08-13 11:37:19