Ajax非同期リクエストについて
11806 ワード
AJAX
AJAX引用
a)概念:ansychronous(非同期)javascript(js)and xml(全称、非同期javaScript and XML)
b)従来の要求
i.伝統的なリクエストを開始しますか?
1.アドレスバー
2.ハイパーリンク
3.JavaScript:location.href
4.フォーム#フォーム#
ii.従来のリクエストの問題
1.同期要求応答は新しいページであるため、ユーザは応答結果を待つ必要があり、後続の操作を行うことができる.
2.ユーザーエクスペリエンスが悪い
iii.非同期リクエストの特徴
1.応答の内容は新しいページではなく、1ページのローカル情報であるため、ユーザが非同期要求を再利用する場合、応答を待つ必要はない.
iv.従来のリクエストと非同期リクエストの違い
1.応答内容
従来のレスポンスの内容:新しいページ、ページのリフレッシュ
非同期応答の内容:ページのローカル、文字列情報
2.ユーザーの操作
従来のリクエスト:応答待ち
非同期リクエスト:応答を待つ必要がなく、ユーザーは直接後続の操作を行うことができます.
v.適切なシーンでは、非同期リクエストを使用して、ユーザーの体験を向上させることをお勧めします.
非同期リクエストの開発
a)非同期要求とは
JAvascript:XmlHttpRequestオブジェクト略称xhr
Chrome|FF|sofiaでXmlHttpRequest
var xhr = new XmlHttpRequest();
IE中ActiveXObject
var xhr = new ActiveXObject(“Microsoft.XMLHHTP”);
b)xhrオブジェクトの使用
1.xhrオブジェクトの作成
2.リクエストの送信
a)要求の送信方法
xhr.open("get | | post,url);
b)データの伝達方法
xhr.send(null);
3.リスニング応答
xhr.readstate属性の値
0 xhrオブジェクトが作成されsend()メソッドが呼び出されていない場合
1 xhrオブジェクトはsend()メソッドを呼び出し、応答しなかった
2 xhrオブジェクトはsend()メソッドを呼び出し、応答はclientに返された.
3応答解析
4応答解析が完了し、
xhr.status応答が正しいかどうか
応答コードエラーの応答コード4044054005500、正しい応答コードは200
xhr.onreadstatechange = function(){
//応答が完了したか、正しく応答したかを判断する
if(xhr.readstate4 && xhr.status200){
応答テキストxhrを取得する.responseText
JavaScriptのDOMプログラミングをページに追加
}
}
注意:ajaxサーバ側はページのジャンプを行うのではなく、文字列情報を返すことでインタラクションを完了し、request役割ドメインは使用しない.下地はResponse.getWriter()は、出力ストリームを取得する、インタラクションを行う.
送信要求(post)
xhr.open(“POST”,url);
xhrを設定します.setRequestHeader(“content-type”,“application/x-www-form-urlencoded”);
なぜ設定するか:シミュレーションフォーム
Web開発に基づいて、フォームを使用してデータをコミットするしかなく、フォームを使用してデータをコミットする場合はデフォルトでenctype=「アプリケーション/x-www-form-urlencoded」と指定されていますが、ajaxプログラミングを使用して現在は使用されておらず、使用されていません.
xhr.send(“name=suns&pwd=123&sex=male”);
JSONプロトコル列
JSONプロトコル列は本質的に文字列です
役割:異機種(異なるプログラミング言語)のプログラミングシステムにおいて、データの伝送、インタラクションを行う.
JAvaのオブジェクトまたはコレクション変換jsonプロトコル列のフォーマット:
JAvaオブジェクト回転json
JAva配列回転json
JAva集合[list,set]回転json
JAvaのMap集合回転json
jsonプロトコルシリアル変換ツール
FastJSON(alibaba) GSON(GOOGLE) JACKSON(SpringMVC)
FastJSONの使用手順FastJSON導入依存 FastJSONで変換 @JSOnField注記 @JSOnField(serialize=false)の役割:JSONプロトコル列変換を行う場合、その属性を除外する. @JSOnField(name="name")の役割:変換後のjsonプロトコル列の属性名を指定 @JSOnField(format="yyyy-MM-dd")の役割:日付変換フォーマットの指定 JSONプロトコル列変換javaオブジェクトまたはセット JSONプロトコルシリアルオブジェクト 類名引用名=JSON.parseObject(jsonString,クラス名.class);
JSONプロトコルシリアルListセット List users = JSON.parseArray(jsonString,User.class);
JSONプロトコルシリアルsetセット(Setタイプ) Set set = JSON.parseObject(jsonString,Set.class);
JSONプロトコルシリアルMap
GSONの使用手順GSON導入依存 javaでの集合とオブジェクト回転JSON
JSON転対象または集合
AJAX引用
a)概念:ansychronous(非同期)javascript(js)and xml(全称、非同期javaScript and XML)
b)従来の要求
i.伝統的なリクエストを開始しますか?
1.アドレスバー
2.ハイパーリンク
3.JavaScript:location.href
4.フォーム#フォーム#
ii.従来のリクエストの問題
1.同期要求応答は新しいページであるため、ユーザは応答結果を待つ必要があり、後続の操作を行うことができる.
2.ユーザーエクスペリエンスが悪い
iii.非同期リクエストの特徴
1.応答の内容は新しいページではなく、1ページのローカル情報であるため、ユーザが非同期要求を再利用する場合、応答を待つ必要はない.
iv.従来のリクエストと非同期リクエストの違い
1.応答内容
従来のレスポンスの内容:新しいページ、ページのリフレッシュ
非同期応答の内容:ページのローカル、文字列情報
2.ユーザーの操作
従来のリクエスト:応答待ち
非同期リクエスト:応答を待つ必要がなく、ユーザーは直接後続の操作を行うことができます.
v.適切なシーンでは、非同期リクエストを使用して、ユーザーの体験を向上させることをお勧めします.
非同期リクエストの開発
a)非同期要求とは
JAvascript:XmlHttpRequestオブジェクト略称xhr
Chrome|FF|sofiaでXmlHttpRequest
var xhr = new XmlHttpRequest();
IE中ActiveXObject
var xhr = new ActiveXObject(“Microsoft.XMLHHTP”);
b)xhrオブジェクトの使用
1.xhrオブジェクトの作成
2.リクエストの送信
a)要求の送信方法
xhr.open("get | | post,url);
b)データの伝達方法
xhr.send(null);
3.リスニング応答
xhr.readstate属性の値
0 xhrオブジェクトが作成されsend()メソッドが呼び出されていない場合
1 xhrオブジェクトはsend()メソッドを呼び出し、応答しなかった
2 xhrオブジェクトはsend()メソッドを呼び出し、応答はclientに返された.
3応答解析
4応答解析が完了し、
xhr.status応答が正しいかどうか
応答コードエラーの応答コード4044054005500、正しい応答コードは200
xhr.onreadstatechange = function(){
//応答が完了したか、正しく応答したかを判断する
if(xhr.readstate4 && xhr.status200){
応答テキストxhrを取得する.responseText
JavaScriptのDOMプログラミングをページに追加
}
}
注意:ajaxサーバ側はページのジャンプを行うのではなく、文字列情報を返すことでインタラクションを完了し、request役割ドメインは使用しない.下地はResponse.getWriter()は、出力ストリームを取得する、インタラクションを行う.
送信要求(post)
xhr.open(“POST”,url);
xhrを設定します.setRequestHeader(“content-type”,“application/x-www-form-urlencoded”);
なぜ設定するか:シミュレーションフォーム
Web開発に基づいて、フォームを使用してデータをコミットするしかなく、フォームを使用してデータをコミットする場合はデフォルトでenctype=「アプリケーション/x-www-form-urlencoded」と指定されていますが、ajaxプログラミングを使用して現在は使用されておらず、使用されていません.
xhr.send(“name=suns&pwd=123&sex=male”);
JSONプロトコル列
JSONプロトコル列は本質的に文字列です
役割:異機種(異なるプログラミング言語)のプログラミングシステムにおいて、データの伝送、インタラクションを行う.
JAvaのオブジェクトまたはコレクション変換jsonプロトコル列のフォーマット:
JAvaオブジェクト回転json
User{
id=1;
username=" ";
password="123456";
}
json
{"id":1,"username":" ","password":"123456"}
JAva配列回転json
java
String [] ids={" "," "," "};
json
[" "," "," "]
JAva集合[list,set]回転json
java
List<User>
User{
id=1;
username=" ";
password="123456";
}
User{
id=2;
username=" ";
password="123456";
}
json
[{"id":1,"username":" ","password":"123456"},{"id":2,"username":" ","password":"123456"}]
JAvaのMap集合回転json
java
Map<String,String> maps = new HashMap<>();
maps.put("username"," ");
maps.put("password","123456")
Map json
json
{"username":" ","password":"123456"}
jsonプロトコルシリアル変換ツール
FastJSON(alibaba) GSON(GOOGLE) JACKSON(SpringMVC)
FastJSONの使用手順
Map <String,String> maps = new HashMap<>();
maps.put("username"," ");
maps.put("password","123456");
String jsontoString = JSONtoString()
GSONの使用手順
User user = new User(1," ","123456");
Gson gson = new Gson;
String json = gson.toJson(user);
User user = new User(1," ","123456");
Gson gson = new Gson;
String json = gson.toJson(user);
User user1 = gson.fromJson(json,User.class);