This Project Has Not Released Any Files
Webページ版ぺったんで使用が期待できる Ajax 手法のお勉強.
手法 | GET | POST | PUT,DELETE | ファイル送信 | クロスオリジン |
form + iframe | ○ | ○ | △html5 | ○ | △iframeプロキシ |
XMLHttpRequest | ○ | ○ | × | × | × |
XMLHttpRequest level2 | ○ | ○ | ○ | ○ | △ |
jsonp | ○ | × | × | × | ○ |
【未検証】動的scriptタグ(json) | 多分○ | × | × | × | ? |
flash | ○ | ○ | ○ | ○ | ○ |
上記未検証! 他には java, silverlight ( unity ) といったプラグインを使う、とか.flash も含め、これらの拡張を利用するメリットとして、あらかじめアップロードするファイルのサイズ等の制限をチェックできる、などが期待できる.10MBの画像をあげ終えてから駄目でした、ではユーザーにはストレスが、運営者には請求が発生してしまう.
以上は 入門 ajax 増補改訂版より
隠し iframe を生成してそこに form.submit() 結果をもらうようにする.(form.target = iframe.name)
結果が欲しい場合、親フレームは、iframe のロード状況を監視してその内容や script タグでセットされたグローバル変数を拾う.(その際にオブジェクトへの参照を保持してしまうとまずそうなので deepcopy 的なことをしたほうがよさそう).サーバ側は、この特殊な動作のために専用の軽量なリザルトページを返してあげる必要がある.こんな感じ??
動的 iframe は嵌りどころが多いので注意. クロスオリジンにしたい場合、受け取り側(サーバ側)に iframe 用の html を置き、その iframe をパラメータつきで呼び出す.iframe にはパラメータを解析し、post 結果を iframe 通信で 呼び出し元 ドメインに返す.
動的な script たぐの追加による json の読み込み.検証まだです!
jQuery の getJson は、ie6 で ActiveX が切れている場合も XMLHttpRequest を使おうとしてこけてるみたい.script タグを追加・監視してその文字列を取得、パースしてjsonデータの取得、ってできないの?
- var script = document.createElement( 'script' );
- script.src = 'hoge.json';
- script.onload = function(){
- var json = this.text;// script タグの中身を取れる?
- }
- script.onreadystatechange = function(){
- if(this.readyState=="loaded"||this.readyState=="complete"){ // キャッシュからとった場合のために 2つが必要らしい.
- this.onreadystatechange = new Function(); // 確かこんな感じでないと ie6 でメモリリークする.
- this.onreadystatechange = null;
- var json = this.text;// script タグの中身を取れる?
- }
- }
- document.body.appendChild( script );