我有一个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();
}
});
答案 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)