0

私はWCFRESTサービスを開発し、そのアクションが「GET」であるため、ブラウザーからアクセスできるリンクにデプロイしました。

jQueryを使用してそのデータを取得したいと思います。jQueryを使用してWCfgetresponseを取得するために最善を尽くしましたが、無駄でした。また、運が悪かったので、「jsonp」を使用して$.Ajaxを試しました。誰か助けてもらえますか?

URLは次のとおりです:http ://www.lonestarus.com/AndroidApp/AndroidLocation.svc/RestService/getLatestLocation

ブラウザにURLを貼り付けることで、そのURL応答を確認できます。

4

3 に答える 3

1

クロスドメインの例を作成してお見せすることはできませんが

$('#a').load('http://www.lonestarus.com/AndroidApp/AndroidLocation.svc/RestService/getLatestLocation​​​​​​​​​​​​​​​​​?callback=run');​

それらが設定されていれば機能します。

サービスでは、JSONPコールバックを有効にするかAccess-Control-Allow-Origin、クロスドメインリクエストが機能するようにヘッダーを設定するか、同じドメインからスクリプトを実行する必要があります。あなたのURLがAndroidAppと言っているとすると、私はあなたがクロスドメインが欲しいと思っています。

于 2012-12-28T18:24:40.600 に答える
1

応答ヘッダーでAccess-Control-Allow-Originを値[*]に設定する必要があります。

このブログでは、WCFRESTサービスでどのように実行できるかについて詳しく説明しています。

Web APIでこれを行う場合は、追加するだけで済みます。

 Response.Headers.Add("Access-Control-Allow-Origin", "*")

フィドルを使用してサービスを呼び出す

$(function() {

    $.ajax({
        url: "http://www.lonestarus.com/AndroidApp/AndroidLocation.svc/RestService/getLatestLocation",
        datatype: 'json',
        type : 'get',
        success: function(data) {
            debugger;

            var obj = data;
        }

    });

})​;​

エラーが発生しました

XMLHttpRequestは http://www.lonestarus.com/AndroidApp/AndroidLocation.svc/RestService/getLatestLocationをロードできません。Origin http://fiddle.jshell.netは、Access-Control-Allow-Originでは許可されていません。

于 2012-12-28T18:26:58.677 に答える
0

以下のサンプルコード:

$.ajax
(
    {
        type: 'GET',
        url: http://www.lonestarus.com/AndroidApp/AndroidLocation.svc/RestService/getLatestLocation,
        cache: false,
        async: true,
        dataType: 'json',
        success: function (response, type, xhr)
        {
            window.alert(response);
        },
        error: function (xhr)
        {
            window.alert('error: ' + xhr.statusText);
        }
    }
);
于 2012-12-28T18:25:57.660 に答える