2013-05-09 2 views
0

У меня есть функция jquery, которая вызывает вызов AJAX функции в контроллере. Функция контроллера принимает 3 аргумента. В определенные моменты времени мне нужно передать третий параметр как null .. так как это будет использоваться для проверки функции контроллера.отправить параметр null из Ajax в контроллер

Вот как я вызываю функцию, когда мне нужно отправить значение третьего параметра.

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

       } 

     }); 

теперь для того же вызова в другом месте, у меня нет «комментарий» значение (тот, который я посылаю в объекте Comment) и, следовательно, мне нужно передать нулевой там. Пожалуйста, предложите мне, что делать здесь.

P.S. Я не могу проверить функциональность, когда null должен быть отправлен, поэтому я спрашиваю здесь.

+0

Пожалуйста, пост более код, окружающий это, в том числе контроллер. – Dogbert

+0

, если у вас нет значения комментария, тогда вы можете использовать comment = 'null'; просто чтобы удостовериться, что вы передаете некоторое значение, даже если у вас нет значения. – Vimalnath

ответ

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, но и для будущих посетителей SO. –

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. –

Смежные вопросы