私が書いたC#WebサービスでjQueryとJSONを使用しようとしています。何があっても、次のコードはXMLでのみ出力されます。C#WebサービスはJSON、XMLのみを出力しません
Webサービスコード
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string HelloWorld() {
return "Hello World!";
}
私はまた、これらの属性は、クラスに割り当てられている
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ScriptService]
jQueryのコード
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "ScheduleComputerDS.asmx/HelloWorld",
data: "{}",
dataType: "jsonp",
success: function(data) {
alert(data);
}
});
ASMXページが常にreturコンテンツタイプ "text/xml"としてnsを指定します。私が行方不明のものは何ですか?
EDITS:カップルの答えを受けて:
私はちょうど「JSON」としてデータ型を持っている場合、コンテンツがまだXMLであるとjQueryはまた私のコールバック関数を呼び出すことはありません。 「&コールバック=?」を追加するとURLにIISがHTTP 500エラーをスローします。
私のクラスは "System.Web.Services.WebService"から継承します。
あなたの人の回答を調べることから、私はWCFを使いこなす必要があるようです。残念ながら、返されるJSONはMS Ajaxのために設計されていますので、私の使用のためには無駄な膨大なものになります。私はJayrockのようなオープンソースライブラリやそれに類するものを調べるかもしれません。
ありがとうございました!
私はこのコメントが他のものを参照してどのように見えるのかわかりません... 私はちょうど "json"としてデータ型を持っている場合、コンテンツはまだXMLであり、jQueryも呼び出されません私のコールバック関数。私が "&コールバック=?" URLにIISがHTTP 500エラーをスローします。 – TheDude
@TheDude - オリジナルの質問を編集して、この情報を追加することができます。質問セクションの左下にあるタグの下に編集リンクがあります。 –
WCF RESTスターターキットを使用できる場合は、プレビュー2 – bendewey