$('.combine-payment-input').each(function (index, value) {
if (parseFloat(value.value) > 0) {
if (methodOfPayment == -1) {
methodOfPayment = value.dataset.method;
}
else {
methodOfPayment = 0;
}
vmopl.push({
id: value.dataset.method,
name: $('label[for="' + value.id + '"]').html(),
inUse: 'True',
ammount: value.value
});
}
});
如果我console.logvmopl到底,我就会得到这样
[Object { id="2", name="Card", inUse="True", ammount="500"},
Object { id="1", name="Cash", inUse="True", ammount="250"}]
现在,如果我尝试发送这AJAX这个了使用
$.get('/reports/savebill/' + methodOfPayment + '?vmop=' + JSON.stringify(vmopl), function (data) {
if (data == 'True') {
location.href = '/order/neworder/';
} else {
alert("Unsuccessful!");
}
});
控制器动作应该挑vmop时,控制器看起来像这样:
public bool SaveBill(int id, ViewMethodOfPayment[] vmop) {
//lots of code...
}
但是,当我把一个断点,我总是看到vmop为空,甚至当我把它传递到另一个对象(var temp = vmop;)。
ViewMethodOfPayment是一个简单的模型类:
public class ViewMethodOfPayment
{
public long Id { get; set; }
public string Name { get; set; }
public bool InUse { get; set; }
public double Ammount { get; set; }
}
如果我错过了任何信息,或者如果它是不清楚我想做/期望的,请留言,我会尽快我可以回答!
感谢您的阅读!
编辑:改变的代码的第一个块(行:9,因为我包括一个代码,将带来一个JavaScript错误)
2015-08-27
NemanjaT
+0
这将是很容易的,如果你只是序列化形式! –
+1
那么如果你发送** POST **方法的数据呢:) –
+3
而不是'ViewMethodOfPayment [] vmop'尝试放置'List vmop' –