1

クロスドメインAJAXリクエストを使用してCSVを取得したい。私はjqueryを使用しています。

クロスドメインajaxリクエストにJSONPを使用できることは知っていますが、ここではJSONではなくCSVをフェッチする必要があります。

イントラネットサイトでログインが必要なため、YQLは使用できません。

他に方法はありますか?以下は私のコードです

        $.ajax({
        url: 'http://si-dtp-219:3333/WS/WS/dshbrdData?reportname=Svt',
        dataType : 'text',
        callback : callbackFunction,
        crossDomain : true,
        type: 'GET',
        timeout: 50000,
        success: function(res) {
            callbackFunction(JSON.stringify(res));
        },
        complete: callbackFunction,
         error: function(x, t, m) {
            if(t==="timeout") {
                alert("got timeout");
            } else {
                console.log(x);
                console.log(t);
                console.log(m);
            }
        }


    });
4

2 に答える 2

1

イントラネット サイトでは、これを処理するためにプロキシ スクリプトを頻繁に使用しています。つまり、ユーザーに代わって要求を行うスクリプトをイントラネット内に記述します。PHP を使用している場合は、次のように簡単に実行できます。

<?php
echo file_get_contents("whatever_url");
?>

次に、Javascript アプリケーションで、ドメイン内のこのページへの AJAX 呼び出しを行うだけです。そうすれば、クロスドメインの問題はまったくありません(クライアントからのリクエストはそのドメイン内のページに対するものであり、サーバー側のリクエストはそのドメインに制限がありません)。

于 2012-08-17T13:24:27.593 に答える
0

まあ、まだ JSONPish 呼び出しを使用できます。あなたがすべきことは、値を変数に割り当てる URL にスクリプト タグを追加し、そのデータで必要なことを行うことです。JSON 形式が必要なため、jQuery の代わりに純粋な JS を使用する必要があります。

http://devlog.info/2010/03/10/cross-domain-ajax/

于 2012-08-17T13:55:37.290 に答える