ウェブサイトのエクスペリエンスをユーザーに向上させるために、通常はデータのやり取りに jquery を使用して、ジャンプせずにページを送信する解決策について説明します。 jqueryがどのようにジャンプを実装するかを見てみましょう
コードのデモ:<%@ 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(){//Jump here;} する必要があります。これは、Ajax 自体が部分更新の非同期リクエストを実現するためであり、もちろんページはジャンプしません。
ページのフロントエンドにジャンプするには、document.Url="xx.aspx"; または window.location.href="xx.aspx"; を使用するのが正しい ajax メソッドです。コールバック関数でバックグラウンドから返された値を取得し、それに応じて
html 属性メソッドを操作して、ページを部分的に更新します。 これで、jquery.getの送信ページが飛ばない問題は解決しました。
関連する推奨事項:
jQuery は指定された div に HTML ページをロードします ループ内の JQuery バインディング イベントの問題詳しい説明以上がJQuery.get 送信ページがジャンプしない問題の解決策の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。