JavaScriptは領域をまたいで浅い分析をします.

2444 ワード

クロスドメインとは何ですか
ドメイン名のホームページから別のドメイン名を要求するリソースです.厳密な意味では、プロトコル、ドメイン名、ポートのいずれかの違いがあれば、ドメインをまたぐと考えられています.注意:local hostと127.1.0.1は全て本機を指すが、クロスドメインに属する.
クロスドメインの原因が発生しました.
ドメインをまたぐのはブラウザの同一ソースポリシーの制限で、現在のドメイン名のjsはドメイン名のウィンドウ属性しか読み取れません.
ソリューション
  • jsop
    JSON With Paddingは、ドメイン間の要求リソースを解決するために発生したソリューションであり、開発者によって作成された非公式クロスドメインデータ相互作用プロトコルである.ブラウザーはXHRに対して同源戦略を行っていますが、この方式をscript(iframeもあります.このプロトコルのポイントは、ユーザーがサービスにコールバックパラメータを渡すことを許可することです.
    -JsonpのデータフォーマットはJsonの外で1階のcalback()を包むので、バックグラウンドから戻ってくるデータは特殊な処理が必要です.フロントエンド要求コード
  •  $.ajax({  
            type: "get",  
            async: false,  
            url: "http://192.168.2.229:8081/api/web_search_directnew.html",  
            dataType: "jsonp",  
            jsonpCallback: "receive", //    jsonp      ,   jQuery          ,    "?",jQuery             
            success: function(data) {  
                console.log(data)  
            },  
            error: function() {  
                alert('fail');  
            }  
        });  
    function receive(data){  
    
    }  
    Ajax要求が成功したら.先端のreceive()メソッドは自動的に呼び出されます.短所:jsonpタイプはデータを要求する時、get方式しか使えなくて、post方式で要求できません.
  • サービスエンドエージェント例えばwww.1.com/index.はwww.566.com/server.phpを呼び出す必要があります.インターフェースwww.1.com/server.phpを書いて、このインターフェースでバックエンドでwww.566.com/server.phpを呼び出して、リターン値を取ってからindexに戻ります.これは代理のモードです.ブラウザの端を迂回することに相当します.ドメインを越える問題は自然に存在しません.
  • PHP端はheaderを修正する(XHR 2方式)
    http://www.cnblogs.com/Darren_code/p/cos.
  • phpインタフェースのスクリプトに以下の二つの文を追加すればいいです.header("Access-Coontrol-Origin:*")///.すべてのソースをheaderにアクセスすることができます.アクセスを許可する方法
  • getとpostの違い(http://www.cnblogs.com/hyddd/archive/2009/03/31/1426026.html)
  • Httpはサーバとの相互作用の異なる方法を定義しています.基本的な方法はGET、POST、PUT、DELETEの四つです.http://blog.csdn.net/joyhen/article/details/21631833