アヤックス-前面と背面の開発API(アプリケーション・プログラム・インターフェース・データ・セットを---)を分離
パーシャルリフレッシュ技術
(同時に、その後のコード)非同期要求を同期要求(以降の実行要求が待機実行コードを完了)
アクセス背景データ特化します
AJAX jsが最初のXMLHttpRequestのネイティブは、バックグラウンドデータアクセスオブジェクトオブジェクト学ぶオブジェクト
際のアクセスバックグラウンドデータに特別に書かれたネイティブのjs
オブジェクトは1インスタンス化
の方法は、ポストのURLを取得する方法を要求:サーバーのパスが要求されたリモートサーバのパラメータに接続2.openを
非同期に現在の要求は、真の非同期偽の同期ユーザ名、パスワード、ユーザーパスワード同期または非同期であります
-
センド()要求を送信
onreadystatechangeに4.応答イベントを
レンダリングインタフェース5.var http = new XMLHttpRequest(); //2.建立服务器连接 http.open("get", "./data/student.txt"); //3.发送请求 http.send(); //4.服务器响应 http.onreadystatechange = function () { //5.界面的渲染 //判断 获取最终读取完成状态 if (http.readyState == 4) { //返回的数据都是string //console.log(typeof http.responseText); console.log(http.response); //字符串类型的json数据转化为对象型json JSON.parse() var data = JSON.parse(http.response); console.log(data); //对象json转化为string json JSON.stringify //var strdata=JSON.stringify(data); //console.log(strdata); } }
//原生ajax的封装 function method(meth, url, data, async, callback) { //对象的创建 var http = new XMLHttpRequest(); //判断 if (meth == "get") { //get 传递的数据在路径的后边 www.baidu.com?name=1&s=2 if (data) { url += "?"; url += data; } http.open(meth, url, async); http.send(); } else { http.open(meth, url, async); //判断是否有数据 if (data) { http.send(data); } else { http.send(); } } //响应 http.onreadystatechange = function () { //状态的判断 //状态码 200 success 500 服务器报错 404 服务器端页面丢失 if (http.readyState == 4 && http.status == 200) { //将请求的数据返回 callback(http.response); } } }
//域名解析就是localhost 没有写端口号默认80端口 //协议不一致会产生跨域 //端口不一致也会导致跨域 //域名不一致也会产生跨域 /* * http://www.maodou.com/mao/list.html * https://www.maodou.com/mao/list.html * http://www.maodou.com:8080/mao/list.html * http://www.dou.com/mao/list.html * */
//クロスドメインを解決する方法は
//のCRO後に直接アクセス共有リソースは、バックエンド構成で構成することができる
ようなPHPのヘッダ(「アクセス制御は、許可するように単語を書く// -Originを: バックエンド・ファイル内部で」);代表すべての
内部ネイティブJSに直接クロスドメインパスと呼ばれる// JSONP SRCクロスドメイン
// srcがリモートパスに接続することができ
、直接、直接API背景リモートアクセス接続//スクリプトのsrc属性
にコールバック関数をバックに//パスをまあ、コールバック関数へのバックグラウンド・プロセスの裏には、
//以下のクロスドメインの問題は、JSONPを実証します// JSONP SRC原理を実行するコールバック関数着信インターフェイスのために(例えば、受信コールバック関数に応答してバックグラウンド・プロセスを有していなければならない)、フロントエンドクロスドメインでクロスドメインを使用することである
AJAXリクエスト内部2.jqueryを$.ajax({ method:"get",//请求的方式 type url:"", //路径 data:{},//传递的参数 dataType:"",//数据类型 jsonpCallback:"",//jsonp 跨域的 success:function (res){ //成功 }, error:function (){ //请求失败 }, async:true//设置同步异步的 });