1

jQuery の $.ajax を使用して、自分が制御していない別のドメインのサーバーに Web サービス呼び出しを行っています。残念ながら、サーバーは JSONP ではなく JSON で応答します。そのためUnexpected Token :、コールバックがコールバックを「パディング」せずに JSON を実行しようとするとエラーが発生します (JSON 自体は有効な Javascript ではありません)。

$.ajax を使用してクロスドメイン GET 要求を作成し、応答を無視する方法があるかどうかを知りたいです。ここでは一方通行のコミュニケーションしか必要ありません。

コードスニペット:

$.ajax( 
{
    url: 'http://service.somedomainidontcontrol.com',
    method: 'GET',
    dataType: 'jsonp',
    success: function(){
      e_log("Success");
    },
    data: my_data
  }
);

サーバーの応答 (無視したい):

{"status":"success"}

これを実現するために iFrame を DOM に追加できるのではないかと思いましたが、よりクリーンなソリューションが本当に必要です。また、リクエストをプロキシするために別のサーバーに依存したくないです。

4

2 に答える 2

7

あなたが制御していないサーバーにリクエストを送信したいが、応答を受け取ってもかまわないということを正しく理解していますか?

その場合は、JavaScript で画像を作成し、サーバー アドレスをソースとして使用できます。

var img = new Image();
img.src = 'http://service.somedomainidontcontrol.com';

を画像に追加するとすぐsrcに、サーバーへのリクエストが発生します。イメージとしては意味をなさない応答が得られますが、誰が気にしますか。:)

于 2013-10-01T23:07:14.763 に答える