問題が発生しているコードは 1 つだけですか、それとも「すべて」の POST メソッドですか? 以下の「テスト」テンプレート コードを試して、非常に基本的なサーバー側のメソッドでも POST が機能するかどうかを確認できますか。エラーはサーバー側であるため、これはサーバー側で何かが機能することを確認するためのものです。この非常に基本的なコードが機能しない場合、問題がサーバー側の方法であるか、サーバー構成であるかを絞り込むことができます。このようなコードを使用して、より複雑なメソッドを追加する前に POST ができることを確認します。また、Fiddlerを使用すると、エラーに関するより詳細な情報が得られるため、実際に何が起こっているのかを確認できます。
サーバー側のコードがある場所:
[WebMethod]
public string TestMethod(string test)
{
return "I received the argument: " + test;
}
新しいバージョンの JQuery を使用したクライアント側:
<script>
$(function() {
var testVal = "this is a test string";
$.ajax({
type: "POST",
contentType: "application/json",
data: "{'test':'" + testVal + "'}",
url: "code.asmx/TestMethod",
beforeSend: function() {}
}).done(function(data) {
alert(data.d);
}).always(function() {
}).fail(function(jqXHR, textStatus, errorThrown) {
alert('Error: ' + errorThrown);
})
});
</script>
そしておそらくあなたのweb.configで必要です
<configuration>
<system.web>
<webServices>
<protocols>
<add name="HttpPost"/>
</protocols>
</webServices>
</system.web>
</configuration>