ajax对webmethod的调用并没有在asp.net中取得成功

时间:2014-05-29 05:45:39

标签: javascript asp.net ajax

我在页面中有一个ajax请求说Test.aspx

  $.ajax({
                type: "POST",
                url: "Test.aspx/TestMethod",
                data: "{ 'Parameter':'Parameter'}",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (res) {
                    alert('success');
                },
                error: function (xhr, ajaxOptions, thrownError) {
                    alert('error getting Regions');
                }
            });

并在

背后的代码中
   [WebMethod()]
    public static string TestMethod(string Parameter)
    {
      return "teststring";
    }

问题是控制不是在ajax里面取得成功,任何想法?''

2 个答案:

答案 0 :(得分:1)

Testtry this

$.ajax({
                type: "POST",
                url: "Test.aspx/TestMethod",
                data: "{ 'Parameter':'Parameter'}",
                contentType: "application/json; charset=utf-8",
                success: function (res) {

                    var s = JSON.stringify(res);
                    alert(s);
                },
                error: function () {
                    alert('error getting Regions');
                }
            });

答案 1 :(得分:0)

您需要确保自己做的事情很少。

首先需要添加脚本管理器,启用页面方法属性为true,如下所示。

<asp:ScriptManager ID="scriptManager" runat="server" EnablePageMethods="true">
</asp:ScriptManager>

请参阅我的博客文章How to call ASP.Net page method with jQuery

检查网页网址和所有内容。它应该是正确的,并且应该与页面名称和方法名称完全相同,因为它区分大小写。

也检查参数。还有一个带参数的好帖子也在下面供你参考。

http://www.aspsnippets.com/Articles/Call-ASPNet-Page-Method-using-jQuery-AJAX-Example.aspx