0

データをjson形式で返すサービスを呼び出そうとしています。request を使用jquery-ajaxしてその応答データを取得しています。

 $('#butCallAjax').click(function () {
         $.ajax({
             url: 'my service url',
             type: 'GET',
             data: {},
             success: function (data) {
                 if (data == "success") {
                     alert('request sent!');
                 }
             },
             error: function () {
                 alert('error');
             }
         });
     });

このコードを使用するとエラーが発生します

オリジン 'servername' は Access-Control-Allow-Origin で許可されていません。

次に、ここでいくつかの回答を見つけdataType:'jsonp'、リクエストで使用して解決しましたが、これを使用すると、dataType:'jsonp'このエラーが発生します

キャッチされない構文エラー: 予期しないトークン:

'json'これは の代わりにService が返されたためであることを理解していjsonpます。

そのため、json コンテンツを返し、クロス ドメイン リクエストを処理するサービスを呼び出す方法がわかりません。

JSフィドルトライ

4

2 に答える 2

0

失敗するクロスドメイン呼び出しを行おうとしています。

私はあなたのjsFiddleを修正して追加しました

async: false,
cache:false

さらに、ajax の「エラー」に errorObject パラメータを追加しました。

あなたはここで私の変更を見ることができます

私が今得た答えは、「ネットワーク エラー dom 例外 19」でした。

DOM 例外 19 は「ネットワーク エラー」を指します。

Ajax 呼び出しで接続している URL は利用可能ですか?

サーバーがサポートしている場合、クロスドメインリクエストが可能です! 実際の G​​ET/POST 呼び出しを行う前に、ブラウザーはサーバーに OPTIONS 呼び出しを発行して、クロスドメイン要求をサポートしているかどうかを確認します。接続しているサーバーがクロス ドメイン リクエストをサポートしているかどうかを確認します。

クロス ドメイン リクエストの詳細については、非常に役立つ次の記事を参照してください: CORS の使用

于 2013-08-12T05:41:00.123 に答える