带有 asp.net aspx 的 Ajax 返回未定义

Posted

技术标签:

【中文标题】带有 asp.net aspx 的 Ajax 返回未定义【英文标题】:Ajax with asp.net aspx returns Undefined 【发布时间】:2015-07-13 19:10:54 【问题描述】:

我面临以下问题:每当我点击button 时,alert 会显示undefined

网络方式:

    [WebMethod]
    public static string getTest()
    
        return "testing success";
    

Ajax 脚本

    <script type="text/javascript">
        function getTest() 
            $.ajax(
                type: "POST",
                url: "main.aspx/getTest",
                data: "",
                datatype: "json",
                contenttype: "/application/json; charset=utf-8",
                success: function (msg) 

                    alert(msg.d);

                ,
                error: function (data) 
                
            );
        
    </script>

【问题讨论】:

contenttype: "/application/json; charset=utf-8" 从应用程序的开头删除 /。 【参考方案1】:

datatype 应该是 dataTypecontenttype 应该是 contentType。同时从"/application/json; charset=utf-8"的开头删除/

$.ajax(
            type: "POST",
            url: "main.aspx/getTest",
            data: "",
            dataType: "json",
            contentType: "application/json; charset=utf-8",
            success: function (msg) 

                alert(msg.d);

            ,
            error: function (data) 
            
        );

【讨论】:

Man u 拯救了我的一天...为此花费了数小时,非常感谢。【参考方案2】:

从你的 ajax 调用中删除这些

datatype: "json",
contenttype: "/application/json; charset=utf-8",

更多关于这些

Differences between contentType and dataType in jQuery ajax function

What is content-type and datatype in an AJAX request?

您可以在jQuery Ajax documentation找到更多详细信息

【讨论】:

我做了,但仍然未定义。 试试 alert alert(msg); 看看你得到了什么?

以上是关于带有 asp.net aspx 的 Ajax 返回未定义的主要内容,如果未能解决你的问题,请参考以下文章

在 asp.net webservices 中使用 jQuery AJAX 总是出错:而不是成功:

带有 ASP.NET WebMethod 的 Jquery AJAX 返回整个页面

asp.net Ajax调用Aspx后台方法

如何保护 ASP.NET 中的 AJAX 请求?

asp.net利用Ajax和Jquery在前台向后台传参数并返回值

在 index.aspx 页面插入记录后重定向到 ajax 成功函数 Asp.net Ajax