如何阅读通过$ .ajax()返回的内容?

时间:2010-08-02 22:02:59

标签: jquery asp.net-mvc ajax jquery-ui

即使成功返回我要求的模型,我也没有收到警告?

function editaddress(id) {
        $.ajax({
            type: "POST",
            url: "/Address/Edit/" + id,
            success: function (msg) {
                alert(msg);
            }
        });
    }

什么是msg?我以为它可能是一个JSON对象?当我调试时,/Address/Edit/1返回View(address);但是如何在我的视图中读取该对象?我需要发一些其他帖子吗?

使用此脚本的部分视图是一个列出地址的jQuery UI对话框,我想在其上面弹出另一个 jQuery UI对话框来编辑单击的记录。所以,我需要以某种方式读取返回的模型对象。我该怎么做?

修改

public ActionResult Edit(int id)
    {
        Address address = dc.Addresses.Where(x => x.AddressID == id).First();

        return View(address);
    }

3 个答案:

答案 0 :(得分:1)

msg是POST格式的URL "/Address/Edit/" + id返回的数据。您似乎没有将任何数据 传递给 "/Address/Edit/" + id的网址。如果数据包含在id中,并且您希望将其包含在URL中,则应使用GET。如果您的jQuery中的URL为“”/Address/Edit.html“and you want to pass it id with POST, you should include data:`。

  1. 我建议您最初输入整个网址,以使您的生活更轻松。将其从http://添加到.whatever。一旦你得到这样的工作,你可以玩删除开头,但看起来你可能会错过文件类型。
  2. 您必须格式化数据并将其包含在data:
  3. 要使用post和jQuery传递数据,请使用格式data:"variable1=value1&variable2=value2 ... ",下面使用您的代码进行说明。

    $.ajax(
    {
        type: "POST",
        url: "http://www.yourdomain.com/Address/Edit.html",
        data: "id="+id,
        success: function (msg) 
        {
            alert("Data saved: " + msg);
        }
    });
    

    查看the jQuery.ajax() page上的示例:

    您必须传递data:中的数据,如果您使用POST,则无法传递URL中的数据,您只能使用GET进行传输。

答案 1 :(得分:1)

使用firebug,console。这样您就可以看到您所做的帖子,查看您传递的参数,并查看返回的响应。

响应将是您的“msg”变量

答案 2 :(得分:0)

使用Firebug和Firefox也很有帮助,并使用控制台。它将显示返回AJAX调用及其包含的信息。