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提交页面不跳转的问题,这个折腾啊。