0

私は多くのデモや例を試しました。そして、サービス リクエストで問題が発生したときに、ここで最終的に良いアドバイスを得ることができました。とにかく、リモートサーバーからデータを取得するために io.script.get を使用していますが、問題は、コールバックパラメーターが未定義であるか、無効なラベルを取得する場合があることです。

function searchGoogle() {
    // Look up the node we'll stick the text under.
    var targetNode = dojo.byId("rules");
    var jsonpArgs = {
  url: "http://localhost/WcfServices/WcfInstanceRules2/Service1.svc/RetrieveData",
     callbackParamName: "callback",
       content: {
            screenName: "dpjo"
        },
        load: function (data) {
            // Set the data from the search into the viewbox in nicely formatted JSON
            targetNode.innerHTML = "<pre>" + dojo.toJson(data, true) + "</pre>";
        },
        error: function (error) {
            targetNode.innerHTML = "An unexpected error occurred: " + error;
        }
    };
    dojo.io.script.get(jsonpArgs);
}
dojo.ready(searchGoogle);

フィドラーでjson応答が表示され、問題ないように見えますが、ブラウザーではエラーが発生します。私はクロスドメインの問題に苦しんでいるので、これはイライラします. 私は .net 4.0 を使用しており、コールバックを明示的に定義する必要はありません。コールバック名を追加し、json をコールバック名でラップして、json 応答を手動で編集しようとしました。

編集:

Web サービスから返されるデータのサンプル:

{"rules":[{"value":"AllState"},{"value":"Cidade de Goa beach"},
     {"value":"Euro 2012"},{"value":"Euro&2012"},
     {"value":"Euro2012"},  {"value":"European&Championship"},
     {"value":"Holiday Inn Resort"},{"value":"Holiday Inn Resort goa"},
     {"value":"Hotel Goa"},{"value":"Hyatt Goa"},{"value":"I buy car}]}
4

1 に答える 1

1

サーバー上で問題が発生する可能性があります。簡単なテストのために、動作している既知のサービス (Yahoo.com など) を指定してみていただけますか?

于 2012-06-07T00:35:03.900 に答える