当前位置: 首页 > 面试题库 >

ASP.NET MVC3-使用Javascript的错误

詹夕
2023-03-14
问题内容

我正在尝试使用Ajax.BeginForm()从我的控制器发布Json结果(我正在使用MVC3)。调用Json结果时,应将其发送到javascript函数并使用提取对象

var myObject = content.get_response().get_object();

但是,在尝试调用Ajax POST时,它只会引发“ Microsoft JScript运行时错误:对象不支持此属性或方法”。

我的代码:

控制器:

[HttpPost]
public ActionResult Index(string message)
{
    return Json(new { Success = true, Message = message });
}

视图:

<!DOCTYPE html>

<html>
<head>
    <script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/MicrosoftAjax.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/MicrosoftMvcAjax.js")" type="text/javascript"></script>

    <script type="text/javascript">
        function JsonAdd_OnComplete(mycontext) {
            var myObject = mycontext.get_response().get_object();
            alert(mycontext.Message);
        }
    </script>
</head>

<body>
    <div>
        @using(Ajax.BeginForm("Index", "Home", new AjaxOptions() { HttpMethod = "POST", OnComplete = "JsonAdd_OnComplete" }))
        {
            @Html.TextBox("message")

            <input type="submit" value="SUBMIT" />

        }
    </div>
</body>
</html>

奇怪的是,完全相同的代码可以在MVC2中使用-这是一个错误,还是我忘了一些东西?

提前致谢。


问题答案:

ASP.NET MVC 3 RC MS中的AFAIK已被弃用,而所有Ajax.*辅助方法都使用jQuery
。Javascript也变得不那么引人注目。这意味着您不再需要打电话,.get_response().get_object()而只需:

function JsonAdd_OnComplete(myObject) {
    // here myObject is already the JSON object 
    // as returned by the controller action
    alert(myObject.Message);
}


 类似资料:
  • 问题内容: 我正在尝试在以下URL上执行JavaScript :。我可以使用谷歌浏览器通过按ctrl + shift + j并粘贴以下脚本来打开控制台: 它返回:150然后在下一行中,我写: 并且它返回长度为150的数组。 当我尝试这样做时: 我收到以下异常: 导致异常的行是: 那么,我应该如何从HtmlUnit执行此脚本,就像在Google Chrome控制台中一样? 问题答案: 这些是您的框架

  • 问题内容: 我想使用Javascript 解析此内容。数据如下所示: 在线上的每个教程都教您如何使用Twitter解析JSON,但是我不太确定如何使用JSON解析。 我想在一个网站上进行设置,以查看NFL团队在一个有趣的项目中获得的分数,以及有关解析JSON的良好学习体验,因为我不太在乎Twitter的东西。 这可能吗?有什么好的入门教程吗?甚至一些起始代码? 问题答案: 一般来说,您可以使用 J

  • 我在使用汇总编译Vue脚本时遇到问题。我得到的错误是 [!] 错误:节点_modules/vue/dist/vue未导出“openBlock”。运行时。esm。js,由src/js/components/TestButton导入。vue?vue app.js TestButton.vue 卷起来。配置。js 我尝试了很多不同的东西,但似乎没有任何帮助。但是,如果我在配置中的vuePlugin之前加

  • 问题内容: 因此,我希望我的第一级捕获是处理错误的捕获。反正有没有将我的错误传播到第一个陷阱? 参考代码,尚不可用: 问题答案: 使用新的异步/等待语法,您可以实现此目的。请注意,在编写本文时,并非所有浏览器都支持此功能,您可能需要使用babel(或类似的东西)来转换代码。

  • 描述 (Description) 也可以使用相关的 app 方法使用 JavaScript 打开和关闭 popover,如下所示 - myApp.popover(popover, target) - 用于打开目标元素周围的myApp.popover(popover, target) ,它接受以下参数 - popover - 这是一个required参数,它是一个要打开的popover的HTMLEl

  • 描述 (Description) 您可以使用JavaScript App方法启用和禁用sortable,如下所示 - myApp.sortableOpen(sortableContainer) - 用于在指定的可排序容器上启用排序模式。 myApp.sortableClose(sortableContainer) - 用于在指定的可排序容器上禁用排序模式。 myApp.sortableToggle