它只是您遇到问题的一段代码还是“所有” 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>