我有这个小代码,它应该在我的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包含在同一页面中的结果时,脚本工作正常。我在这里错过了什么吗?
答案 0 :(得分:1)
JavaScript不会从一个页面延续到下一个页面。发生页面更改时,将停止所有活动事件或脚本。
您可以使用click事件在页面更改发生之前向URL添加参数,以便您可以在新页面上检查它们,或者如果您需要在从一个特定的位置移动时执行此操作,则可以使用referrer页面到另一个页面,但您无法跨页面加载执行JavaScript。