ajax の正式名は、asynchronous javascript and XML、つまり非同期 js と XML です。これは部分的なリフレッシュの非同期操作です。この記事では、ajaxの特徴と文字化けの問題について紹介しますので、興味のある方はぜひ一緒にご覧ください。 ajaxの正式名称は、非同期jsとXMLです。これは部分的なリフレッシュの非同期操作です。
ajax 自体がシングルスレッドで同期であることは誰もが知っていますが、なぜシングルスレッドが非同期になるのかは、ほとんどの人が知りません (あまり公式ではありませんが、理解しやすいです)。 ) :
説明する前に、線形データ構造について説明します。線分には先頭と末尾があると考えられます。線分の先頭には前部と後部がありません。中央の各要素にはその前後に 2 つの要素があることを認識し、同時に 2 つの要素が通知します。 。また、要素が 1 つもなければ機能しません。
コールバック関数は関数Aをパラメータとして関数Bに渡し、関数Bは関数Aを実行します。コールバック関数の最も一般的な用途は、ajax でデータをリクエストするときに使用する success() 関数と error() 関数、およびコールバック関数を使用する setInterval の最初のパラメータです。コールバック関数、コールバック関数、コールバックの文字通りの意味は、方向転換して戻って、再びその道を歩くことです。つまり、コールバック関数 success() または error がトリガーされると、ajax は向きを変えて再び歩き出します。同時に、ajax も非同期になります。これに似たものとして、es6 の Promise (非同期同期操作) があります。
ブラウザのプロセスがマルチプロセスである理由は、XXXと呼ばれる理由と同じです〜
2番目の質問は、全能のフロントエンドがバックグラウンドデータを取得するためにajaxに遭遇したとき、何が起こるかということです。コードが文字化けしていませんか? それは誰もが抱く疑問です。非常にわかりにくいです。
- インターネットの速度に問題があるのかもしれません。インターネットが遅すぎます。
- エンコード形式が統一されていない可能性があります。バックエンドの兄弟があなたを騙しました、はははは
//1.创建xmlhttpRequest对象 var xhr; try{ xhr = new XMLHttpRequest(); console.log(5555) } catch(e){ //ie浏览器低版本兼容 xhr = new ActiveXobject("Microsoft.XMLHTTP"); } finally{ console.log(1111) } // try{} catch{} finally{}在这里是处理异常的方法,用if{}else{}也ok //if(window.XMLHttpRequest){ // xhr = new XMLHttpRequest(); // }else{ //ie浏览器低版本的兼容 // xhr = new ActiveXobject("Microsoft.XMLHTTP") //} //2.建立异步连接 xhr.open("get","url/+string",true/false);//true是异步,false是同步 //xhr.open("post","url",true/false) //3.发送异步请求 xhr.send(null);//get xhr.send(string);//post //4.获取返回数据 xhr.onreadystatechange = function (){ if((xhr.readystate)==4&&(xhr.status==200)){ var data = xhr.responseText; var data = JSON.parse(data); show(data); } } function show(data){ document.getElementById("p1").innerHTML = data; }
Ajaxのメリット・デメリットまとめ
以上がAjaxの特性とコード化けの問題(グラフィックチュートリアル)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。