javascript函数不适用于两个单独的页面

时间:2014-02-23 17:27:04

标签: javascript jquery asp.net-mvc-4

我有这个小代码,它应该在我的ASP.NET MVC 4应用程序中显示从页面到页面的简单hello消息:

在index.cshtml中

<a href="@Url.Action("About","Home")" id="clicked_link">Click here</a>

在_Layout.cshtml中

<script type="text/javascript" >
    $(document).ready(
    $("#clicked_link").click(function () {
        var url = '@Url.Action("FirstAjax","Ajax")';
        $.ajax({ url: url, success: setTimeout(function() {
            $("#result").val("Hello");
        }, 3000), type: 'POST', dataType: 'json', data: "Hello" });
    }));
</script>

在About.cshtml中

<textarea id="result"></textarea>

我需要我的链接,它将触发我的Index.html页面中的函数以及将在我的About.cshtml页面中包含结果的textarea。我已将javascript放在_Layout.csthml中,以便有可能拥有一个与两个页面交互的脚本。当我把链接和textarea包含在同一页面中的结果时,脚本工作正常。我在这里错过了什么吗?

1 个答案:

答案 0 :(得分:1)

JavaScript不会从一个页面延续到下一个页面。发生页面更改时,将停止所有活动事件或脚本。

您可以使用click事件在页面更改发生之前向URL添加参数,以便您可以在新页面上检查它们,或者如果您需要在从一个特定的位置移动时执行此操作,则可以使用referrer页面到另一个页面,但您无法跨页面加载执行JavaScript。