JQuery.get提交页面不跳转的解决方法

内容摘要
代码如下:

复制代码 代码如下:

<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"

CodeFile="Default.aspx.cs" Inh
文章正文

代码如下:

复制代码 代码如下:

<%@ 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(){})可以跳转。

以上代码却没有跳转,如果中间有错误的话,不能执行回调函数的,但以上代码却执行了,原因何在?

经过分析得知,jquery.get(url,data,function(){})这个是ajax的方法,是不会跳转的。

要跳转的话,需要在回调函数里function(){//这里做跳转吧;}才行,因为Ajax本身就是为了实现异步请求局部刷新,当然不会跳转页面。

跳转页面前台直接用document.Url=”xx.aspx”;或window.location.href=”xx.aspx”;和ajax没有关系,正确的ajax做法是回调函数中获取后台返回的值,然后据此操作html属性方法,局部更新页面。

如此,便解决了jquery.get提交页面不跳转的问题,这个折腾啊。


代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!