JQuery.get提交頁面不跳轉(zhuǎn)的解決方法
代碼如下:
<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
CodeFile="Default.aspx.cs" Inherits="_Default" %>
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
<script type="text/javascript" src="Scripts/jquery-1.4.1.js"></script>
</asp:Content>
<asp:Content ID="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>
<button id="btnTestGet" value="Test JQuery" >Test JQuery</button>
</asp:Content>
問題分析:
有些Jquery 教程上說,使用jquery.get(url,data,function(){})可以跳轉(zhuǎn)。
以上代碼卻沒有跳轉(zhuǎn),如果中間有錯誤的話,不能執(zhí)行回調(diào)函數(shù)的,但以上代碼卻執(zhí)行了,原因何在?
經(jīng)過分析得知,jquery.get(url,data,function(){})這個是ajax的方法,是不會跳轉(zhuǎn)的。
要跳轉(zhuǎn)的話,需要在回調(diào)函數(shù)里function(){//這里做跳轉(zhuǎn)吧;}才行,因為Ajax本身就是為了實現(xiàn)異步請求局部刷新,當然不會跳轉(zhuǎn)頁面。
跳轉(zhuǎn)頁面前臺直接用document.Url=”xx.aspx”;或window.location.href=”xx.aspx”;和ajax沒有關(guān)系,正確的ajax做法是回調(diào)函數(shù)中獲取后臺返回的值,然后據(jù)此操作html屬性方法,局部更新頁面。
如此,便解決了jquery.get提交頁面不跳轉(zhuǎn)的問題,這個折騰啊。