【问题标题】:ASP.NET MVC AJAX value not displayingASP.NET MVC AJAX 值不显示
【发布时间】:2010-06-01 08:17:25
【问题描述】:

查看:

  function success(arg) {
        var obj = arg.get_response().get_object();                   
        if (obj.ErrorMessage === '') {
           var answer = document.createElement('div');
           answer.appendChild(document.createTextNode(obj.Answer));
           document.getElementById('answers').appendChild(answer);
       } else {
          document.getElementById('errors').innerHTML = obj.ErrorMessage;
       }
    }   

<% using (Ajax.BeginForm("EditOrganizationMeta", "Organization", new AjaxOptions { HttpMethod = "POST", OnSuccess = "success" })) { %>             

    <input type="submit" name="button<%=OrganizationMeta.vcr_MetaKey + Lang.int_LangId %>" value="Save" />
    <div id="errors"></div>
    <div id="answers"></div>

<% } %>

控制器:

[HttpPost]
[ValidateInput(false)]
public ActionResult EditOrganizationMeta(FormCollection collection)
{
   return Json(new { Answer = "Record Successfully Saved", ErrorMessages = "Title is required" });
}

问题是 javascript 中的成功方法没有获取所需的参数。它在那里打印未定义。 javascript方法OnSuccess有问题吗?

【问题讨论】:

    标签: asp.net javascript asp.net-mvc ajax


    【解决方案1】:

    首先,快速调试建议:

    function success(arg) {
        alert(arg);
        var obj = arg.get_response().get_object();
        ...
    

    这是一个简单的检查,看看您是否在查询中收到任何传回给您的信息。

    第二个建议:

    当您查看页面的源代码时,这实际上呈现为什么......

    <% using (Ajax.BeginForm("EditOrganizationMeta", 
        "Organization", new AjaxOptions { 
             HttpMethod = "POST", OnSuccess = "success" })) ...
    

    您正在寻找它调用标题为“成功”的函数的位 - 它是否将数据传递给函数?如果您仍然卡住,请使用表单标记的呈现 HTML 输出更新您的问题。

    【讨论】:

      【解决方案2】:
      function success() {
      var url = '<%= Url.Action("EditOrganizationMeta", "Organization") %>';
                 $.post(url, null, function(data) {
                     alert(data["Answer"]);
                 });
      }
      

      这对我有用

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-10-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-09-21
        相关资源
        最近更新 更多