0

次のコードでは:

    function main() { 
        jQuery(document).ready(function($) { 
            /******* Load HTML *******/
             var jsonp_url = "http://184.72.244.64/test.fwx?callback=?";         
            $.getJSON(jsonp_url, function(data) {
              $('#DivTagToInsertTheHTML').html(data.html);
            });
        });
    }

この関数を使用して、かなりの量の JavaScript をクライアント ブラウザに配信したいと考えています。これを使用する必要があるのは、「同一オリジン ポリシー」に違反する外部サーバーから取得する必要があるためです。

では、JSON 内の JavaScript を取得した場合、それを解析して実行するにはどうすればよいでしょうか? これを行うより良い方法はありますか?

4

2 に答える 2

0

わかった、

これを試して:

crossDomain: true で jquery ajax 呼び出しを使用する

http://api.jquery.com/jQuery.ajax/

または、xDomainRequest (IE 用) および XMLHttpRequest (クロスドメイン リクエスト用の特定のオブジェクト) を使用します。

可能であれば、リクエストを処理する際に CORS を使用するサーバーに注意する必要があります。

header('Access-Control-Allow-Origin: http://www.example.com');
header('Access-Control-Allow-Credentials: true');
if ($this->getRequestMethod() == 'OPTIONS')
{
    header('Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS');
    header('Access-Control-Max-Age: 604800');
    header('Access-Control-Allow-Headers: x-requested-with');
    exit(0);
}

ここに良い投稿があります:

http://tpeczek.blogspot.pt/2010/09/httphandler-with-cross-origin-resource.html

于 2012-09-21T01:00:14.723 に答える
0

JavaScript eval 関数を使用します。これはセキュリティ上のリスクであることを覚えておいてください。クロス ドメイン セキュリティが導入されているのには理由があります。なぜJavaScriptをリアルタイムで実行する必要があるのですか?

http://www.w3schools.com/jsref/jsref_eval.ASP

于 2012-09-21T01:57:59.663 に答える