Jquery Post方法适用于IIS 7,但不适用于IIS6

时间:2014-11-29 21:51:08

标签: jquery asp.net iis-6

我开发了在Framework 4.0上运行的应用程序。它在我的本地计算机和IIS 7.0上工作正常但它无法在IIS 6.0上运行。我收到了以下错误

{"Message":"An attempt was made to call the method \u0027SendMailMessage\u0027 using a GET request, which is not allowed.","StackTrace":"   at System.Web.Script.Services.RestHandler.GetRawParams(WebServiceMethodData methodData, HttpContext context)\r\n   at System.Web.Script.Services.RestHandler.ExecuteWebServiceCall(HttpContext context, WebServiceMethodData methodData)","ExceptionType":"System.InvalidOperationException"}

我在代码背后的代码中设置了以下属性。

    [WebMethod]
    [ScriptMethod(UseHttpGet = false)]

我的Jquery方法

 setTimeout(function() {
                            $.ajax({
                            cache: false,
                            type: "POST",
                            url: "Test.aspx/TestMethod",
                            contentType: "application/json; charset=utf-8",
                            dataType: "json",
                            async: false,
                            data: JSON.stringify({
                                "strSubmitDate": $("#txtDate").val()
                            }),
                            success: function (data) {
                                alert(data.d);
                                $("#floatingBarsG").hide();
                            },
                            error: function (xhr, ajaxOptions, thrownError) {
                                //debugger;
                                alert(xhr.responseText);

                            }
                            });
                        }, 2000);

任何帮助表示感谢...提前致谢

1 个答案:

答案 0 :(得分:0)

我记得走进类似的场景,但在我的情况下,问题是由生产主机阶段的共享环境引起的。无论方法是作为POST发送的,主机总是通过GET进行重定向,最后由于这一点我总是收到403.

我也发现了它,IIS 4和5中的相关错误。 http://support.microsoft.com/kb/216493