【发布时间】:2013-01-03 13:23:45
【问题描述】:
我有一个 Jquery Post Query。在将请求发送到控制器操作后,它不会让控制继续进行。实际上,我正在通过按钮 ID 对按钮单击执行此操作。我只是在这里发布代码。请建议我在哪里做错了。
查看代码
$('#Get').click(function () {
ItemNo= "4";
if (ItemNo != "" && ItemNo != '') {
$.post('@Url.Action("CheckStocktake", "Stocktake")', { ItemNo: ItemNo }, function (data) {
if (data == "I") {
$('#ItemNumber').after("<label class='label' id='inoitem' style='color:red;float:right;'> Item No is not exist in the Items table entry.</label>");
e.preventDefault();
return false;
}
else if (data == "S") {
$('#ItemNumber').after("<label class='label' id='inostock' style='color:red;float:right;'> Entered Item No. already exist in Stocktake. Try another.</label>");
e.preventDefault();
return false;
}
else if (data == "F") {
alert("");
return true;
}
});
}
控制器代码
public JsonResult CheckStocktake(string ItemNo)
{
bool ifexist = Db.Items.Any(a => a.ItemNo == ItemNo);
bool stockexist = Db.Stocktakes.Any(b => b.ItemNo == ItemNo);
if (!ifexist)
{
return Json("I", JsonRequestBehavior.AllowGet);
}
else if (stockexist)
{
return Json("S", JsonRequestBehavior.AllowGet);
}
return Json("F", JsonRequestBehavior.AllowGet);
}
【问题讨论】:
-
检查控制台(按
F12) - 您是否看到来自 AJAX 调用的任何错误? -
你试过把
ItemNo参数改成id吗? -
实际上它允许形成帖子,即使它没有归结为返回的函数(数据)。
-
尝试在
public JsonResult CheckStocktake(string ItemNo)之前添加[HttpPost] -
尝试使用 Fiddler 查看正在返回的数据(如果有)。可能是它达到了成功功能,但它不是您期望的格式。您在成功函数中的代码无法处理与预期不符的情况。
标签: jquery json asp.net-mvc-3 post razor