发送带有模型内部错误的Ajax

时间:2014-07-22 08:01:13

标签: javascript asp.net ajax asp.net-mvc-3

我有一个mvc3项目。

我正在尝试从我的JS代码发送ajax post请求,问题是我收到内部错误,当我调试它时,甚至没有调用该方法。

这是我的Js代码:

ajaxCallTest: function (url, dataObj) {
    $.ajax({
        url: url,
        type: "POST",
        data: dataObj,
        success: function (result) {
        }
        ,
        error: function (result) {
        }
    });
}

这是我的C#代码:

[HttpPost]
public string Transaction(PaymentModel model) 
{
...
}

现在我尝试:

ajaxCallTest('..url/Transaction', ''); <- enters 'Transaction' with null values...

但是当我这样做时:

ajaxCallTest('..url/Transaction', model); <--- the model is in type of PaymentModel 

第二个代码未输入'Transaction'方法,instead I get 500 - internal error

为什么?

编辑:

var dataObj = { Id: 11, Description: "hh" };

$.ajax({
        url: url,
        type: "POST",
        data: JSON.stringify(dataObj),
        success: function (result) {
            //window.location.replace(result);
            var form = $(result);
            $(form).submit();
        }
        ,
        error: function (result) {
            console.log('Error ' + result);
            //cardStrip.fail();
        }
    });

1 个答案:

答案 0 :(得分:0)

您的dataObj模型需要与您的PaymentModel匹配,例如:

如果PaymentModel看起来像这样:

public class PaymentModel
{
    var int Id{get; set;}
    var string Description{get; set;}
}

然后你的javascript应该是这样的:

// create an object that represents PaymentModel
var dataObj = {Id: $('myId').val(), Description: $('#MyDescription').val()};

$.ajax({
    url: url,
    type: "POST",
    data:  JSON.stringify(dataObj)