JQuery.get提交页面不跳转的解决方法
代码如下:
<%@PageTitle="HomePage"Language="C#"MasterPageFile="~/Site.master"AutoEventWireup="true" CodeFile="Default.aspx.cs"Inherits="_Default"%> <asp:ContentID="HeaderContent"runat="server"ContentPlaceHolderID="HeadContent"> <scripttype="text/javascript"src="Scripts/jquery-1.4.1.js"></script> </asp:Content> <asp:ContentID="BodyContent"runat="server"ContentPlaceHolderID="MainContent"> <script> window.location.host; $(document).ready(function(){ $("#btnTestGet").click(function(){ jQuery.get("About.aspx",{name:"alex"},function(){alert("aaa")}); }); }); </script> <buttonid="btnTestGet"value="TestJQuery">TestJQuery</button> </asp:Content>
问题分析:
有些Jquery教程上说,使用jquery.get(url,data,function(){})可以跳转。
以上代码却没有跳转,如果中间有错误的话,不能执行回调函数的,但以上代码却执行了,原因何在?
经过分析得知,jquery.get(url,data,function(){})这个是ajax的方法,是不会跳转的。
要跳转的话,需要在回调函数里function(){//这里做跳转吧;}才行,因为Ajax本身就是为了实现异步请求局部刷新,当然不会跳转页面。
跳转页面前台直接用document.Url=”xx.aspx”;或window.location.href=”xx.aspx”;和ajax没有关系,正确的ajax做法是回调函数中获取后台返回的值,然后据此操作html属性方法,局部更新页面。
如此,便解决了jquery.get提交页面不跳转的问题,这个折腾啊。