从控制器获取Int值从$ .Ajax
问题描述:
我想从控制器传递int值,并检查$ .ajax中的值是否大于0。我不知道该怎么做。我试过了一个代码,但它给了我一个未定义的值。控制器中的数据正在正常工作。但回国没能做到:
AJAX代码int值:
function bindForm(dialog,urlString) {
$('form', dialog).submit(function() {
var data_send = $(this).serializeArray();
$.ajax({
url: urlString,
type: this.method,
data: $(this).serialize(),
success: function (result) {
alert(result.success);
if (parseInt(result.success, 10) > 0) {
alert('Details Added Successfully');
$('#dialog-form').dialog('close');
var hdnInvoiceId = document.getElementById("Invoice_Id");
hdnInvoiceId.value = parseInt(result.success, 10);
$('#addInvoiceDetail').hide();
} else {
alert('Please Re-enter Details');
bindForm();
}
}
});
return false;
});
控制器代码:
[HttpPost]
public int AddInvoice(Invoice model)
{
int Invoice_Id = CRMServiceDL.insertInvoiceDetail(model);
int success;
if (Invoice_Id > 0)
{
success = Invoice_Id;
}
else {
success = -1;
}
return success;
}
答
您需要返回JSON
[HttpPost]
public JsonResult AddInvoice(Invoice model)
{
int invoiceId = CRMServiceDL.insertInvoiceDetail(model);
int success = invoiceId > 0 ? invoiceId : -1;
return Json(new { success });
}
答
就在使用结果你的成功回调,而不是result.success。
结果本身将包含您返回的值。
如果块似乎不必要... – 2013-03-26 13:31:53
我真的没有看他的代码。很好的接收。 – Romoku 2013-03-26 13:32:32
小东西。你的回答是正确的;) – 2013-03-26 13:33:34