Javascript 使用JQuery从Aspx页面返回数据&;AJAX

Javascript 使用JQuery从Aspx页面返回数据&;AJAX,javascript,asp.net,ajax,jquery,Javascript,Asp.net,Ajax,Jquery,我有一个aspx页面(Sample.aspx),其中只包含一个HTML按钮。在aspx页面的.CS文件中,我编写了一个小函数(sample_函数),它只返回一个字符串“helloworld”。我试图在用户单击按钮时在警报框中显示该字符串。问题是,当我单击按钮时,.aspx页面的整个源代码都显示在警报框中,而不是显示“Hello World”。请帮我解决这个问题。下面是我的Sample.aspx页面的摘要代码 <head> <title></title> <

我有一个aspx页面(Sample.aspx),其中只包含一个HTML按钮。在aspx页面的.CS文件中,我编写了一个小函数(sample_函数),它只返回一个字符串“helloworld”。我试图在用户单击按钮时在警报框中显示该字符串。问题是,当我单击按钮时,.aspx页面的整个源代码都显示在警报框中,而不是显示“Hello World”。请帮我解决这个问题。下面是我的Sample.aspx页面的摘要代码

<head>
<title></title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
</script>
<script type="text/javascript">
    $(document).ready(function () {
        $("#Button1").click(function () {
            $.post("Sample.aspx/sample_function",
    {

    },
    function (data, status) {
        alert("Data: " + data + "\nStatus: " + status);
    });
    });
    });
</script>

</head>
<body>
    <form id="form1" runat="server">
    <div >
    <input id="Button1" type="button" value="Click Me" /></div>
    </form>
</body>

你必须有一个WebMethod

[WebMethod]
public static string sample_function()
{
    string s1 = "Hellow World";
    return s1;
}

你必须有一个WebMethod

[WebMethod]
public static string sample_function()
{
    string s1 = "Hellow World";
    return s1;
}

使用ASP.NET AJAX页面方法,如下所示:

代码隐藏:

[WebMethod]
public static string sample_function()
{
    string s1 = "Hellow World";
    return s1;
}

注意:ASP.NET AJAX页面方法必须用
[WebMethod]
属性修饰,并且必须是静态的,因此它们不能与页面上的控件交互,因为没有页面实例


标记:

$(document).ready(function() {
    $.ajax({
        type: "POST",
        url: "Sample.aspx/sample_function",
        data: "{}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(result) {
            alert(result.d);
        }  
    });
});

使用ASP.NET AJAX页面方法,如下所示:

代码隐藏:

[WebMethod]
public static string sample_function()
{
    string s1 = "Hellow World";
    return s1;
}

注意:ASP.NET AJAX页面方法必须用
[WebMethod]
属性修饰,并且必须是静态的,因此它们不能与页面上的控件交互,因为没有页面实例


标记:

$(document).ready(function() {
    $.ajax({
        type: "POST",
        url: "Sample.aspx/sample_function",
        data: "{}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(result) {
            alert(result.d);
        }  
    });
});

我尝试包括[WebMethod],但它仍显示相同的输出。我尝试包括[WebMethod],但它仍显示相同的输出。@Pranebkarat-没问题,欢迎接受和/或向上投票。只是好奇,你为什么接受另一个答案?:-)使用.ajax()可以返回值,但问题是如何通过.aspx页面从.post()方法返回值?我在这里的.php页面(通过echo)中得到了答案-。但我尝试了用C#编写response.write,但它没有返回值。有谁能告诉我在使用asp.net时如何返回value.post();所以我不确定你到底在问什么。ASP.NET AJAX页面方法只接受HTTP POST,不接受GET;因此,这可能是您看到PHP而不是ASP.NET AJAX页面方法结果的地方。@Pranebkarat-没问题,请随意接受和/或投票表决答案。只是好奇,你为什么接受另一个答案?:-)使用.ajax()可以返回值,但问题是如何通过.aspx页面从.post()方法返回值?我在这里的.php页面(通过echo)中得到了答案-。但我尝试了用C#编写response.write,但它没有返回值。有谁能告诉我在使用asp.net时如何返回value.post();所以我不确定你到底在问什么。ASP.NET AJAX页面方法只接受HTTP POST,不接受GET;因此,这可能是您看到来自PHP而不是ASP.NET AJAX页面方法的结果的地方。