ajax post call无法正常工作

时间:2015-12-19 05:55:43

标签: javascript c# ajax model-view-controller

我试图从jquery调用MVC控制器但是无法调用它。以下代码是否有任何问题 请弄清楚,如果有任何问题,我也没有收到任何错误。

URL = “HTTP://本地主机:49917 /帐户/ SaveAddress”

this.SaveAddress = function (url, addressData)
    {
            $.ajax({
                type: "POST",
                url: url,
                dataType: "json",
                data: JSON.stringify(addressData),
                contentType: 'application/json; charset=utf-8',
                success: function (responseDetail) {
                   },
                error:function(e)
                {

                },
            });
    return 0;
};

public async Task<ActionResult> SaveAddress(AddressListViewModel addressListVM)
    {
        bool response;
        string message;
        if (addressListVM.ID <= 0)
        {
            response = await Task.Run(() => AccountManager.Instance().AddAddress(addressListVM));
            message = response ? "New address added successfully." : "Failed to add new address.";
        }
        else
        {
            response = await Task.Run(() => AccountManager.Instance().UpdateAddress(addressListVM));
            message = response ? "Selected address updated successfully." : "Failed to update selected address.";
        }
        ModelState.Clear();
        return Json(new { responsestatus = response, message = message }, JsonRequestBehavior.AllowGet);
        //return PartialView("_AddressDetail", BuildAddressListEntity(
        //                                UserManager.FindById(User.Identity.GetUserId()), response, message, addressListVM.ID, true));
    }

3 个答案:

答案 0 :(得分:0)

是的,你在this.saveaddress函数的末尾缺少一个结束括号

  this.SaveAddress = function (url, addressData)
  {
        $.ajax({
            type: "POST",
            url: url,
            dataType: "json",
            data: JSON.stringify(addressData),
            contentType: 'application/json; charset=utf-8',
            success: function (responseDetail) {
               },
            error:function(e)
            {

            },
        });

所有这些......你还需要一个结束括号:

   }

答案 1 :(得分:0)

控制台显示什么?如果您使用的是Chrome,请右键单击,选择“检查”,然后找到“控制台”选项卡。如果你正确调用AJAX函数,那么必须在这个控制台选项卡中显示一些东西,这可能会比我对我的信息更好地引导你朝着正确的方向前进。

答案 2 :(得分:0)

在成功和错误功能中加入断点。如果它遇到错误函数,那么问题是找不到控制器操作或者数据是无效的json(发布数据或返回数据)。您应该将errorThrown参数添加到错误函数中,以便您可以轻松查看问题所在。如果数据已经是有效的json,你也不需要对数据进行字符串化,但是如果它是一个表示json数据的字符串,你将需要使用json.parse(抱歉不正确的情况)。