1

Cloudant アプリに ajax/jsonp リクエストを送信しています。

    var obj = $.ajax({
        url: "http://xyz",
        dataType: 'jsonp',
        success: function(data) {  
            //SOME CODE  
        },
        error: function() {
            //SOME CODE
        }
    });

応答は問題なく、データを読み取ることができます。しかし、次の js 警告が表示されます。

Resource interpreted as Script but transferred with MIME type text/plain.

このリクエストをjsonpリクエスト(クロスドメインポリシー)にする必要があります.AFAIK jsonpはスクリプトとして返され、ブラウザによって実行されます. リクエストヘッダーを設定する必要がありますか? 「accepts」オプションと「converters」オプションを使用して試しましたが、まだ機能しませんでした。(私は GoogleChrome を使用していますが、Safari/FF でも発生します)

乾杯、トム

PS: この ajax リクエストは 2 秒ごとにトリガーされるため、警告を取り除きたいです。だから、コンソールはかなり悪いように見えます...

4

4 に答える 4

4

サーバーは、JSONP スクリプトを送信するときに、Content-Typeヘッダー セットを送信する必要があります。text/javascript

于 2011-09-07T18:53:47.890 に答える
1

CouchDB 自体が text/plain content-type を送信しています。「Accept: application/json」をヘッダーとして送信する場合、送信するように説得できる他の唯一のタイプは「application/json」です。

ただし、jsonp 応答を配信する場合、CouchDB は text/javascript を送信する必要があるようです。チケットを提出していただければ、確実に完了します。

于 2011-09-07T20:03:13.420 に答える
0

設定中のため、問題はターゲットサーバーにありますContent-Type: Text/plain

ターゲット サーバーにアクセスしないと強制できません。そのはずContent-Type: text/javascript

于 2011-09-07T18:54:36.427 に答える
0

ヘッダーでエンコード情報を送信していますか? CouchDB の応答に問題がありcharset=utf-8AcceptまたはContent-Type見出しに追加すると、期待していたtext/plainのではなく、CouchDB がコンテンツを返すことを発見しました。application/jsonケースが十分に類似している場合は、ヘッダーを変更することでおそらくこれを解決できます。

于 2013-09-12T07:22:20.740 に答える