ホームページ  >  記事  >  ウェブフロントエンド  >  Ajax およびクロスドメインの問題の詳細な分析_AJAX 関連

Ajax およびクロスドメインの問題の詳細な分析_AJAX 関連

韦小宝
韦小宝オリジナル
2018-01-01 19:45:351148ブラウズ

この記事では主に Ajax とクロスドメインの問題を詳しく紹介し、Ajax とは何か、クロスドメインとは何なのかを説明します。興味のある方は参考にしてください

ajaxとは

Ajax(非同期JavaScriptとXML)は、ページを更新せずにサーバーに追加のデータを要求できる技術、の登場です。 Ajax の核となるのは XMLHttpRequest (XHR) オブジェクトであり、XHR オブジェクトを使用して新しいデータを取得したり、新しいデータを挿入したりすることができます。名前には XML が含まれていますが、Ajax 通信はデータ形式とは関係ありません。このテクノロジは更新せずにサーバーからデータを取得できますが、XML データである必要はありません。 json.


XMLHttpRequestオブジェクト

POSTリクエストの使用法

リクエストヘッダーを設定する必要がありますxhr.setRequestHeader() POSTリクエストヘッダーContent-Type値: application/x-www-form-urlencoded3) . リクエストボディの xhr.send() get リクエストを null に渡すように設定し、状況に応じてポストします まず、レスポンスステータスコード

と非同期オブジェクトが解析されたかどうかを確認します

サーバーから返されたステータスコードステータス


1xx: メッセージ2xx: 成功3xx: リダイレクト
4xx: リクエストエラー
5xx: サーバーエラー

非同期オブジェクトのステータスコードreadystate0:非同期オブジェクトが作成されました
1: 非同期オブジェクトの初期化が完了し、リクエストを送信します

2: サーバーから返された元のデータを受信します

3: データが解析中です、解析には時間がかかります

4: データの解析が完了し、データを使用できます



XML


XMLの特徴 W3Cによって策定された名門のXMLは、MicrosoftとIBMによって強く推奨されているデータ形式です。はデータを送信および保存するように設計されており、HTML はページを表すように設計されています

文法規則: HTML と同様に、タグによって表現されます

特殊記号: 655233f190be7fd5023e16d4dd254a55元素来使用,src属性知道一个跨域URL,JSONP是有效的JavaScript代码,浏览器可以跨域请求JS文件.
优点:简单易用,可以直接访问响应文本,支持在浏览器和服务器之间双向通信.
缺点:1.JSONP是从其他域加载代码执行,存在不安全风险.2.不好确定JSONP请求是否成败.

通过修改document.domain来跨子域

使用window.name来进行跨域

HTML5中新引进 window.postMessage方法来跨域传送数据

flash

iframe

服务器设置代理页面

图像Ping

通过使用标签,利用网页可以从任何网页加载图像原理.
图像Ping常用于跟踪用户点击页面或动态广告曝光次数.

2个缺点:1.只支持GET请求.2.无法访问服务器的响应文本.只能用于浏览器与服务器间的单项通信.


var img = new Image();
img.onload = img.onerror = function (){
alert("Done!");
};
img.src = "";


comet

一种更高级的ajax技术.ajax是页面向服务器请求数据的技术.comet是服务器向页面推送数据的技术.

SSE (Server-Sent Events) 服务器发送事件

Web Sockets

Web Sockets的目标是在一个单独的持久链接上提供全双工,双向通信.

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持PHP中文网。

相关推荐:

实例分析jquery ajax异步提交表单数据的方法

前端ajax与后端交互详解

Ajax实现动态加载数据的实力分享

以上がAjax およびクロスドメインの問題の詳細な分析_AJAX 関連の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。