14

クロスドメイン URL から HTML 応答ページを取得したいと考えています。

このために、私は ajax リクエストを次のように使用しています。

 $.ajax({
            type: 'GET',
            url: "http://wcidevapps.com/salescentral/idisk/0001000383/iDisk",
            dataType: "json",
            success: function (response) {
                $(response).find('li a').each(function () {
                    listHref.push($(this).attr('href'));
                });

            }
        });

しかし、リクエストした後、結果が返されません。

4

4 に答える 4

5

ドキュメントを確認してください:http: //api.jquery.com/jQuery.ajax/

crossDomain (デフォルト:同じドメインのリクエストの場合はfalse、クロスドメインのリクエストの場合はtrue)

タイプ:ブール

同じドメインでcrossDomainリクエスト(JSONPなど)を強制する場合は、crossDomainの値をtrueに設定します。これにより、たとえば、サーバー側で別のドメインにリダイレクトできます。(追加されたバージョン:1.5)

于 2013-03-18T13:04:49.257 に答える
3

リクエストしているページが json(p) レスポンスで応答せず、リダイレクトで応答するため、問題が発生していると思われます。

http://wcidevapps.com/salescentral/idisk/0001000383/iDisk/

(末尾のスラッシュに注意してください)

次に、コンテンツ タイプを返します。

Content-Type:text/html;charset=ISO-8859-1

編集:上記のサイトのデータをクロスドメインで取得することを意図している場合は、スクリプトでさらに解析するために、次のいずれかを選択することをお勧めします。

仮定 1 :あなたはサーバー " http://wcidevapps.com "のページを管理しています。

その場合、2 つのオプションがあります: CORS ヘッダー "Access-Control-Allow-Origin: *" を応答に追加する (そしてクライアントの ajax() 呼び出しを dataType:"html" で構成する) か、特別な JSON( P) JSON と同じデータを配信するページ (パディングあり) (および dataType:"jsonp" を使用して、OP のようにクライアントの ajax() 呼び出しを構成します)

仮定 2 :サーバーhttp://wcidevapps.comのページを管理しない

その場合、私が考えることができる唯一のオプションは、あなたが制御するサイトにプロキシを設定することです. そのプロキシに " http://wcidevapps.com " への要求/応答を "プロキシ" させますが、CORS ヘッダー "Access-Control-Allow-Origin: *" を応答に追加します (そしてクライアントの ajax() 呼び出しを次のように構成します)。 dataType:"html")

于 2013-03-18T13:21:45.850 に答える