C#WebサービスからJsonデータを取得する必要があります。
私はこれに基づいていくつかの質問があることを知っています、私がかなりの数を読んだことを信じてください、しかし私をさらに混乱させるだけです。
これは私がしたことです:
私のWebサービスには[System.Web.Script.Services.ScriptService]
、クラスと[ScriptMethod(ResponseFormat = ResponseFormat.Json, UseHttpGet = true)]
メソッドに次のものが含まれています。
JavaScriptSerializer()
また、データを文字列に変換するためにを使用しました
私はこのサービスを使用して呼んでいます$.getJSON()
これを使用しないと、クロスドメイン参照エラーが発生します。
これを行うには、コールバック関数名を取得するようにmサービスを設定する必要があったため、t his.Context.Request["callback"]
+シリアル化されたJsonデータを渡します。
しかし、出力ではそれをラップします
< string xmlns="http://XYZ...">
タグ内のデータは必要な形式です
また、次を使用してコンテンツタイプを設定してみました:$.ajaxSetup({ scriptCharset: "utf-8" , contentType: "application/json; charset=utf-8"});
しかし、それでも成功しません。
後で追加:フレンチブルドッグの回答を受け入れました。これは正しいアプローチであることがわかっているのですが、うまく機能しません... WebサービスとWebサイトを同じドメインに配置し、xmlを使用しただけですが、これが最善の方法ではなかったことを知っています。しかし、私はそれに2日間を費やし、それ以上無駄にする余裕はありませんでした。