从Ajax发送null参数到控制器

时间:2013-05-09 07:01:41

标签: jquery ajax model-view-controller

我有一个jquery函数,它对控制器中的函数进行AJAX调用。 控制器函数接受3个参数。 在某些时候,我需要传递第三个参数为null ..因为这将用于检查控制器功能。

这是我在需要发送第3个参数值时如何调用该函数。

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

                }

        });

现在在其他地方同一个电话我没有"评论" value(我在Comment对象中发送的那个),因此我需要在那里传递null。 请建议我在这做什么。

P.S。当必须发送null时,我无法测试该功能,这就是我在这里问的原因。

2 个答案:

答案 0 :(得分: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) {
     }

});

答案 1 :(得分: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) {
        }
    });