使用jquery.get提交页面没有跳转的解决方法

发布时间:2020-08-27编辑:脚本学堂
本文介绍下,使用jquery.get提交页面,但页面却没有跳转的解决方法,有需要的朋友,参考下吧。

代码如下:

复制代码 代码示例:

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