javascript - 从 Javascript (JQuery) 调用 C# 函数 (WebMethod)

标签 javascript c# jquery asp.net ajax

我有一个这样的功能

    [WebMethod]
    public static string Hello()
    {
        return "hello";
    }

我想在我的 aspx 页面中调用它。这就是我正在尝试的

    function sendData(){
        $.post("Default.aspx/Hello", function(data){
            alert(data);
        }).fail(function() {
            alert( "error" );
        });
    }

现在调用成功并且不会返回错误,但它不会返回我想要的内容。它没有返回字符串“hello”,而是返回页面 html 的字符串

最佳答案

您需要使用data.d:

function sendData(){
        $.post("Default.aspx/Hello", function(data){
            alert(data.d);
        }).fail(function() {
            alert( "error" );
        });
    }

Dave Ward article为什么需要使用 .d

您还需要确保已添加脚本管理器和 EnablePageMethods,即

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

关于javascript - 从 Javascript (JQuery) 调用 C# 函数 (WebMethod),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30335965/

相关文章:

javascript - 具有多个固定行和列的 HTML 表格

javascript - 无法通过 AJAX 将 JSON 作为字符串发送

c# - 在 DbSet<T> "safe"上调用 AsQueryable<T> 吗?

c# - WPF:使用 .ico 文件作为工具栏的图像?或者需要转换为 XAML?

jquery - 具有高度 100% 元素的绝对定位 css?

javascript - 选择列表菜单中的 Jquery 字体系列和大小更改在 Chrome 中不起作用

javascript - 在几何线之间创建中断,Three.JS

c# - 页面选项卡加载速度太慢 - Umbraco 6

php - AJAX 电子邮件注册表单 + .htaccess 干净 URL 问题

javascript - knockout - 问题编辑项目弹出