今回は編集者が皆さんのために jQuery における AJAX の知識ポイントをまとめました。以下にその知識ポイントをまとめましたので見てみましょう。
1. AJAXの概念
Asynchronous Javascript And XML (非同期JavaScriptとXML)
AJAXは言語ではなく、インタラクティブなWebアプリケーションを作成するためのWeb開発テクノロジーです
AJAXはJavaScript、XHTML、CSS、およびDOMです。 XML の組み合わせ。 4. 動的表示と対話のために JavaScript を使用してドキュメント オブジェクト モデル (ネットワーク ドキュメント オブジェクト モデル) を操作します。
JavaScript を使用してすべてのデータをバインドし、処理します。
XML とは、拡張マークアップ言語 (Extensible Markup Language) を指します。 EXtensible Markup Language)
XML XML は HTML によく似たマークアップ言語であり、データを表示するために設計されており、XML タグは事前に定義されていません。ラベルは自分で定義する必要があります。
XML は自己記述的になるように設計されています。
XML は W3C によって推奨される標準です
XSLT とは何ですか?
XSLTはXSL変換[1]を指します
XSLTはXSLの最も重要な部分です
XSLTはある種類のXMLドキュメントを別の種類のXMLドキュメントに変換できます
XSLTはW3C標準を使用します
AJAXのコアオブジェクトはXMLHttpRequest
II. AJAX 動作原理
ユーザー操作プロセス:
ユーザーブラウザ -> JavaScript が XmlHttpRequest オブジェクトをインスタンス化 -> AJAX エンジン -> http リクエスト - >Web サーバー -> バックエンドビジネスシステム
システムリターンプロセス:
バックエンドビジネスシステム->バックエンドサーバー->Webサーバー->HTML、XML、JSONデータ->AJAXエンジン->HTML+CSS(ウェルブラウザ)->ユーザーブラウザ
3. AJAX の長所と短所:
AJAX 非同期処理の利点:
サーバーの負担を軽減、AJAX は通常、サーバーから必要なデータのみを取得します
ページの更新が不要、ユーザーの待ち時間を短縮します
より良い顧客エクスペリエンス、一部のサーバー作業をクライアントに転送して完了し、ネットワーク リソースを節約し、ユーザー エクスペリエンスを向上させることができます プラットフォームの制限がありません 表示とデータの分離を促進します AJAX 非同期処理の欠点 : ページ内に大量の JS があり、検索エンジンに困難をもたらす
AJAXは戻る機能と履歴機能を無効にする、つまりブラウザのメカニズムを損傷する
クロスドメインの問題がある
utf-8でエンコードされたデータのみ送受信できる
1.AJAXの実装step
window.open(URL,name,features,replace)
URL:新しいウィンドウに表示されるドキュメントの URL を宣言するオプションの文字列。このパラメータが省略されている場合 またはその値が空の文字列の場合、新しいウィンドウにドキュメントは表示されません
name:
数字、文字、アンダースコアを含む機能のカンマ区切りリストであるオプションの文字列、
この文字新しいウィンドウの名前を宣言します。この名前は、タグ および
if (window.XMLHttpRequest) {// Mozilla, Safari, ... var http_request = new XMLHttpRequest(); } else if (window.ActiveXObject) { // IE 5 ,6 var http_request = new ActiveXObject("Microsoft.XMLHTTP"); }
XMLHttpRequestはHTTPを発行するrequest
http_request.open("GET|POST","test.php?GET方式传值",true); http_request.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); //仅POST请求时需要设置 //用于向一个已经连接的socket发送数据 //如果是POST传输方式要把值写在send()函数里 http_request.send(向一个已连接的套接口发送数据); XMLHttpRequest取得响应数据并显示 http_request.onreadystatechange=function(){ if(http_request.readyState==4 && http_request.status==200){ $("p").text(http_request.responseText) } }
例:
//GET メソッド
パラメーター 1: リクエストを get モードで送信するか、post モードで送信するかを表します パラメーター 2: リクエストをどの URL に送信するかを表します パラメーター 3: true は非同期リクエストを表し、false は同期リクエストを表しますrequest
http_request.open("GET","test.php?user_name="+username.val(),true); http_request.send();
POSTリクエストを送信する
var username=$("input[name='user_name']");
パラメータ1: リクエストをgetモードで送信するかpostモードで送信するかを表しますパラメータ2: リクエストをどのURLに送信するかを表しますパラメータ3: trueは非同期リクエストを表し、falseは同期リクエストを表しますrequest
http_request.open("POST","test.php",true); http_request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
POST送信メソッドの場合はsend()関数に値を記述します
http_request.send({username:username});
IV. JSON
Javascript Object Notationは軽量なデータ交換形式です
JSONはあらゆる言語で認識され、さまざまな言語でデータを変換するために使用します
JSON サポート 複数の言語
形式
{key:value,key:value,....} オブジェクト形式
[{key:value,key:value,... ..},{key:value,key:value, .....},......] 配列形式
PHP処理:
$json=json_encode($array) //変数のJsonエンコード
$ array=json_decode($json) //JsonデータをデコードしてPHP変数に変換
JavaScript処理:
eval('('+json+')') //JSコードに従って特定の文字列を実行
例:
eval("x=10;y=20;document.write(x*y)") document.write(eval("2+2")) JSON.parse(json) //对传过来的json字符串进行解码,变成JS认识的对象 JSON.stringify(obj) //将JS中的值编译成json字符串
Jquery 1℃のAjaxアプリケーション。 ) シーケンステーブルテーブルの内容は文字列でシリアル化されます データは Ajax リクエストに使用されます
$.ajax({ //你要传的php文件的路径 url:"test1.php", ('服务器url地址') //以get方式传输拼接字符串 data:"user_name="+$('input[name="user_name"]').val(),('名=值&名=值&.....',) //以什么方式传输 type:'get',('post|get') //传输返回的数据类型 dataType:'json', ('xml|html|text|json|script') //展示 数据的方式 success:function(res){ $('h1').text('用户名为:'+res.user_name); }, //错误信息 error:function(xhr){ }, timeout:2000, async:true, cache:false })
$.get() $.get('服务器url地址',"json格式或字符串格式",function(res){ //处理返回的数据 }), "xml|html|json|text|script")
//'服务器url地址',"json格式或字符串格式" $.get("test1.php",{user_name:$("input[name='user_name']").val()},function(data){ //如果后台发过来的值跟这里的值相等让他执行下面代码 if(data.status=='ok'){ alert("登陆成功"); location.href="http://www.wl.com"; }else{ alert("登陆失败"); } //"xml|html|json|text|script"类型 },'json')
以上がjQueryのAJAXの知識まとめの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。