0

Jqueryを使用して外部ドメインのURLをdivに表示する同様のコードを知りたいです。Json を使用する必要があることはわかっていますが、以下のコードが行うことを正確に行うための明確な例が見つかりません。

<div id="external"></div>
<script type='text/javascript'>
$(document).ready(function(){
$("#external").load("http://www.domain.com/file.php?param=option");});</script>

ありがとう!

4

3 に答える 3

2

jsonp データ型で html をロードすることはできません。そのようには機能しません。

JSONP データ型では、外部 URL が有効な JSONP を返す必要があります。JSONP != HTML.

JSONP には HTML を含めることができますが、外部 URL は HTML をその形式で返す必要があります。外部 URL を制御できない場合は、サーバーに html を取得させるか、iframe を使用する以外にできることはあまりありません。

于 2012-08-03T18:41:24.180 に答える
0

スクリプトはajaxを使用してコンテンツをロードし、http://www.domain.com/file.php?param=optionこれをidでdivに配置します#external

URLを開きたい場合は、タグで.attr()属性を使用し、これを開きたいリンクに設定する必要があります。

于 2012-08-03T18:36:50.563 に答える
0

プロキシ ページまたは jsonp を使用せずに、このようなクロス ドメイン Ajax 呼び出しを実行することはできません。ajax でこれを行おうとすると、同じオリジン ポリシーに違反します: http://en.wikipedia.org/wiki/Same_origin_policy。私の意見では、プロキシ ページが最も簡単な解決策です。基本的に、php、coldfusion、またはロードする URL を取得するために使用する Web 言語でページを作成します。それができたら、次のようなことができます。

$.ajax({
    url: 'http://YOURSITE/YOURPROXYPAGE.cfm',
    type: 'GET',
    data : {param1 : 'something', param2 :'other'}
    success : function(data){
        $('#external').html(data);
    },
    error : function(x,t,e){
        console.log(x);
        console.log(t);
        console.log(e);
    },
    dataType: 'html'
});

編集 1: 上記のデータ フィールドを追加したことに注意してください。このデータ フィールドは、ajax リクエストの送信先のページに渡したいデータのオブジェクトになります。ajax プロキシ ページでは、ajax データ パラメータをクエリ パラメータとして取得できます。

さらに、タイプを に変更すると、POST要求しているプロキシ ページへのフォームによってデータが送信されます。

編集2:

私は PHP の専門家ではありませんが、php プロキシ ページを googlez に投げて、考えられる解決策をいくつか見つけました。これを試すことができます: PHP で別のページをプロキシする方法

繰り返しますが、私は PHP の専門家ではないので、他のより良い方法があるかもしれませんが、クエリ パラメータを取得するには、http: //php.net/manual/en/reserved.variables.get.phpを試してみてください。

于 2012-08-03T18:48:20.290 に答える