jsからjsonを呼び出す方法まとめ
この記事では、主に js 呼び出し json メソッドの概要を詳細に分析します。必要な友人がそれを参照し、学ぶことができると幸いです。
Ajaxの基本
ajax: リフレッシュデータの読み取りなし、サーバー上の情報の読み取り
HTTPリクエストメソッド:
GET: 投稿の閲覧などのデータの取得に使用されます
ajax.judgeXmlHttpRequest('get', 'index.php', function(data){ alert(data); //这是服务器返回的数据 })
POST: ユーザー登録などのデータのアップロードに使用されます
var dataJson = { name: 'ys',age: 123 } ajax.judgeXmlHttpRequest('post', 'index.php', function(data){ alert(data); //这是服务器返回的数据 },dataJson)
GETとPOSTの違い:
GET: URLを介して渡されます(URLを入力します)。渡されたデータはURL、name=value&name=value
getメソッドは容量が小さく、セキュリティが低く、キャッシュがあります
POST: URLを経由しません
postは容量が大きく、通常最大2G、セキュリティは比較的高く、キャッシュはありません
ネイティブ Ajax の作成
Ajax 実行手順
Ajax オブジェクトの作成
IE6 以外のブラウザ:
var oAjax=new XMLHttpRequest();
IE6 ブラウザ:
var oAjax=new ActiveXObject("Microsoft.XMLHTTP");
サーバーに接続
Ajax.open(方法,文件名,异步传输);
キャッシュを防ぐ方法:
Ajax.open('GET','a.txt?t='+new Date().getTime(),true);
同期: js 中指は物事を 1 つずつ実行する必要があることを意味します
非同期: js 中指は複数のことを一緒に実行する必要があることを意味します
ajax は非同期送信用です。非同期
リクエストを送信
Ajax.send();
戻り値を受け取る
リクエストステータス監視: onreadystatechange イベント: Ajax とサーバー間で通信がある場合にトリガーされます。主に、readyState 属性によって判断されます。成功したかどうかはステータス属性によって判断されます
readyState 属性: リクエストステータス
0 (初期化されていません) open メソッドはまだ呼び出されていません
1 (ロード中) send()メソッドが呼び出され、リクエストが送信中です
2 (ロード完了) send()メソッドが完了し、対応するコンテンツをすべて受信しています
3 (解析中) 受信した応答コンテンツを解析中です
4 (完了) 応答内容の解析が完了し、クライアントで呼び出すことができます (完了は必ずしも成功を意味するわけではありません。成功または失敗を検出するにはステータスが必要です)
ステータス属性:
リクエスト結果、成功かどうか (200 ) または失敗 (404): Ajax.status==200
戻り値 responseText:
サーバーから返されたテキスト: Ajax .responseText (戻り値は文字列であり、場合によっては他の形式にさらに処理する必要がある)
oAjax.onreadystatechange=function(){ //oAjax.readyState: 表示浏览器和服务器之间进行到哪一步了 if(oAjax.readyState==4){ //读取完成 if(oAjax.status==200){ //读取的结果是成功 alert('成功:'+oAjax.responseText); } } }
ネイティブ Ajax を関数にカプセル化します。最終的に記述されたネイティブ Ajax は次のとおりです。
GET メソッドのカプセル化 POST メソッドによってカプセル化された関数は次のとおりです。
function ajax(url,fnSuccess,fnFaild){ //1.创建Ajax对象。js中,使用一个没有定义的变量会报错,使用一个没有定义的属性,是undefined。IE6下使用没有定义的XMLHttpRequest会报错,所以当做window的一个属性使用 if (window.XMLHttpRequest) { var oAjax=new XMLHttpRequest();//非IE6 }else{ var oAjax=new ActiveXObject("Microsoft.XMLHTTP");//IE6 } //2.连接到服务器 oAjax.open('GET',url,true); //3.发送请求 oAjax.send(); //4.接收返回值 oAjax.onreadystatechange=function(){ //oAjax.readyState--浏览器和服务器之间进行到哪一步了 if(oAjax.readyState==4){ //读取完成 if(oAjax.status==200){ //读取的结果是成功 fnSuccess(oAjax.responseText); //成功时执行的函数 }else{ if(fnFaild){ //判断是否传入失败是的函数,即用户是否关心失败时的结果 fnFaild(oAjax.responseText); //对失败的原因做出处理 } } } } }
POST によってカプセル化された関数メソッドは:
function ajaxPost(url,id,fnSuccess,fnFaild){ //1.创建Ajax对象 if (window.XMLHttpRequest) { var xhr=new XMLHttpRequest();//非IE6 }else{ var xhr=new ActiveXObject("Microsoft.XMLHTTP");//IE6 } //2.连接到服务器 xhr.open("POST",url,true); //设置头信息 xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); var form=document.getElementById(id); //3.发送请求,传递数据 xhr.send(serialize(form)); xhr.onreadystatechange=function(){ if(xhr.readyState==4){ if ((xhr.status>=200 && xhr.status<300) || xhr.status==304) { fnSuccess(xhr.responseText); }else{ fnFaild(xhr.responseText); } } }; }
文字セットエンコーディング: Web ページと要求されたファイルのエンコーディングは、両方が utf8 の場合は同じである必要があります
キャッシュ、ブロックキャッシュ (頻繁に変更されるデータなどはキャッシュできません。主に GET メソッドに使用されます)。パラメータを渡すときに、パスの後に ?+'variable data' を追加すると、元のデータに影響を与えることなく動的データをリクエストできます
ajax('a.txt?t='+new Date().getTime(),function(str){ alert(str); },function(str){ alert(str); });
ajax : json ファイルなど
1 value は文字列であり、返された配列/json データは eval 変換を通じて読み取ることができます
alert(str); alert(typeof(str)); var arr=eval(str); alert(typeof(arr)); alert(arr[1]); alert(arr[1].c);
2 DOM と組み合わせて、返されたコンテンツを表示する要素を作成します
oBtn.onclick=function(){ ajax('data/arr3.txt?t='+new Date().getTime(),function(str){ var arr=eval(str); for (var i = 0; i < arr.length; i++) { var oLi=document.createElement('li'); oLi.innerHTML='用户名:<span>'+arr[i].user+'</span>密码:<span>'+arr[i].pass+'</span>'; oUl.appendChild(oLi); } },function(str){ alert(str); }); }
データ型-->返されるデータ型は、xml (ほぼ削除されています)、json (現在は一般的に使用されています) です
最近、get メソッドを通じて json を呼び出すネイティブ js を作成した例を見てみましょう:
if(!isNaN(matchId)) { var xmlHttp = null; try {// Chrome, Firefox, Opera, Safari xmlHttp = new XMLHttpRequest(); }catch (e) { try {// Internet Explorer IE 6.0+ xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try {// Internet Explorer IE 5.5+ xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { alert("your browser not support ajax!"); } } } window.onload = function () { xmlHttp.open("get",/api/clientMatch/commonMatchDiagram.json?matchId=" + matchId,true); xmlHttp.send(); xmlHttp.onreadystatechange = doResult; //设置回调函数 }; function doResult() { var html=''; if ((xmlHttp.readyState == 4)&&(xmlHttp.status == 200)) {//4代表执行完成,200代表执行成功 var data = JSON.parse(xmlHttp.responseText); if(data.code == 200){ //代码执行 } document.getElementById('appMatch').innerHTML = html; } } }
関連する推奨事項:
PHP のクロスドメインで json_jquery を呼び出す例
PHP5.5 インストール後、json_encode を呼び出すことができません。
以上がjsからjsonを呼び出す方法まとめの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









MySQL5.7 と MySQL8.0 は 2 つの異なる MySQL データベース バージョンであり、それらの間には主な違いがいくつかあります: パフォーマンスの向上: MySQL8.0 では、MySQL5.7 と比較してパフォーマンスがいくつか向上しています。これには、より優れたクエリ オプティマイザー、より効率的なクエリ実行プランの生成、より優れたインデックス作成アルゴリズムと並列クエリなどが含まれます。これらの改善により、クエリのパフォーマンスとシステム全体のパフォーマンスが向上します。 JSON サポート: MySQL 8.0 では、JSON データのストレージ、クエリ、インデックス作成など、JSON データ型のネイティブ サポートが導入されています。これにより、MySQL での JSON データの処理と操作がより便利かつ効率的になります。トランザクション機能: MySQL8.0 では、アトミックなどのいくつかの新しいトランザクション機能が導入されています。

Linux での system() 関数の概要 Linux システムでは、system() 関数は非常に一般的に使用される関数であり、コマンド ライン コマンドの実行に使用できます。この記事では、system() 関数を詳細に紹介し、いくつかの具体的なコード例を示します。 1. system() 関数の基本的な使用法 system() 関数の宣言は次のとおりです: intsystem(constchar*command); コマンド パラメーターは文字です。

PHP 配列を JSON に変換するためのパフォーマンスの最適化方法には、JSON 拡張機能と json_encode() 関数の使用、文字エスケープを回避するためのバッファーの使用、およびサードパーティのエンコード結果の使用の検討が含まれます。 JSONエンコーディングライブラリ。

クイック スタート: JSON ファイルを読み取る Pandas の方法、特定のコード サンプルが必要です はじめに: データ分析とデータ サイエンスの分野では、Pandas は重要な Python ライブラリの 1 つです。豊富な機能と柔軟なデータ構造を備え、さまざまなデータを簡単に処理・分析できます。実際のアプリケーションでは、JSON ファイルを読み取る必要がある状況によく遭遇します。この記事では、Pandas を使用して JSON ファイルを読み取る方法を紹介し、具体的なコード例を添付します。 1.パンダのインストール

Jackson ライブラリのアノテーションは、JSON のシリアル化と逆シリアル化を制御します。 シリアル化: @JsonIgnore: プロパティを無視します @JsonProperty: 名前を指定します @JsonGetter: get メソッドを使用します @JsonSetter: set メソッドを使用します Deserialization: @JsonIgnoreProperties: プロパティ @ JsonProperty を無視します:名前を指定 @JsonCreator: コンストラクターを使用 @JsonDeserialize: カスタム ロジック

JavaScript チュートリアル: HTTP ステータス コードを取得する方法、特定のコード例が必要です 序文: Web 開発では、サーバーとのデータ対話が頻繁に発生します。サーバーと通信するとき、多くの場合、返された HTTP ステータス コードを取得して操作が成功したかどうかを判断し、さまざまなステータス コードに基づいて対応する処理を実行する必要があります。この記事では、JavaScript を使用して HTTP ステータス コードを取得する方法を説明し、いくつかの実用的なコード例を示します。 XMLHttpRequestの使用

PHP の深い理解: JSONUnicode を中国語に変換する実装方法 開発中、JSON データを処理する必要がある状況によく遭遇しますが、特に変換する必要がある場合、JSON 内の Unicode エンコードによっていくつかのシナリオで問題が発生します。 Unicode エンコードを漢字に変換する場合。 PHP では、この変換処理を実現するためのメソッドがいくつかありますが、以下では一般的なメソッドを紹介し、具体的なコード例を示します。まず、JSON の Un について理解しましょう

JavaScript で HTTP ステータス コードを取得する方法の紹介: フロントエンド開発では、バックエンド インターフェイスとの対話を処理する必要があることが多く、HTTP ステータス コードはその非常に重要な部分です。 HTTP ステータス コードを理解して取得すると、インターフェイスから返されたデータをより適切に処理できるようになります。この記事では、JavaScript を使用して HTTP ステータス コードを取得する方法と、具体的なコード例を紹介します。 1. HTTP ステータス コードとは何ですか? HTTP ステータス コードとは、ブラウザがサーバーへのリクエストを開始したときに、サービスが
