【问题标题】:What is wrong with this Jquery Post Query?这个 Jquery Post Query 有什么问题?
【发布时间】: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;'>&nbsp;&nbsp;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;'>&nbsp;&nbsp;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


【解决方案1】:
$.each(data, function (index, d)
{
    place your if conditions inside this changing data to d.......
}

希望它可以工作,如果没有尝试将您的呼叫更改为下面....

$.getJSON("/Controller/action", { ItemNo: ItemNo }, function (data)
         {
             $.each(data, function (index, d) 
            {
                if condition here as i mentioned above change data to d
            });

        });

它应该可以让我知道......发生了什么

【讨论】:

    猜你喜欢
    • 2020-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多