从Controller获取Int值到$ .Ajax

我想从控制器传递int值并检查$ .ajax中是否大于0。 我不知道怎么做。 我尝试了一个代码,但它给了我未定义的值。 控制器中的数据运行正常。 但返回int值无法做到:

AJAX代码:

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而不是result.success。

结果本身将包含您返回的值。