Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法在asp.net c中使用ajax jquery获取数据表单函数#_C#_Jquery_Asp.net - Fatal编程技术网

C# 无法在asp.net c中使用ajax jquery获取数据表单函数#

C# 无法在asp.net c中使用ajax jquery获取数据表单函数#,c#,jquery,asp.net,C#,Jquery,Asp.net,我正在尝试在asp.net中使用$.ajax()方法填充html标记,但没有从成功参数中获取任何数据 我正在从c#代码调用getData函数,我试图返回一个字符串,但它不起作用。我还试图返回user Response.write(),但同样的问题 当我警告返回值时,它会显示aspx页面代码 如下图所示 这是我的密码 Default.apsx <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" I

我正在尝试在asp.net中使用$.ajax()方法填充html标记,但没有从成功参数中获取任何数据 我正在从c#代码调用getData函数,我试图返回一个字符串,但它不起作用。我还试图返回user Response.write(),但同样的问题 当我警告返回值时,它会显示aspx页面代码 如下图所示

这是我的密码 Default.apsx

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" 
 %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <script>

        $(document).ready(function () {



            $("#firstDrop").on("change", function () {
                $.ajax({
                    url: "Default.aspx/getData",
                    type: "POST",
                    data: { id: $("#firstDrop").val() },
                    success: function (data) {
                        alert(data);
                        $("#secondDrop").html(data);
                    }
                });
            });

        });


    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>

    <select runat="server" id="firstDrop">

        <option value="0">first select</option><option value="1">second select</option><option value="3">third select</option>

    </select>
        <select id="secondDrop"></select>
    </div>
    </form>
</body>
</html>

$(文档).ready(函数(){
$(“#firstDrop”)。关于(“更改”,函数(){
$.ajax({
url:“Default.aspx/getData”,
类型:“POST”,
数据:{id:$(“#firstDrop”).val()},
成功:功能(数据){
警报(数据);
$(“#secondDrop”).html(数据);
}
});
});
});
第一次选择第二次选择第三次选择
Default.aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }


    public  string getData()
    {
        return"<option>ABC</option><option>CDE</option>";
    }
}
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用System.Web;
使用System.Web.UI;
公共部分类\u默认值:System.Web.UI.Page
{
受保护的无效页面加载(对象发送方、事件参数e)
{
}
公共字符串getData()
{
返回“ABCCDE”;
}
}

在asp.net中创建webmethod时的基本规则

  • 您的方法应该是静态的
  • 您需要使用
    System.Web.Services.WebMethod
    来装饰您的函数
C#代码隐藏

Javascript(Aspx)

在这里,在您的例子中,将getdata函数设置为静态,并将webmethod设置为静态。通过ajax调用webmethod时,使用
data.d
读取响应

[System.Web.Services.WebMethod]
public static string getData(int id)
{
    return "<option>ABC</option><option>CDE</option>";
}
参考网站:

类似的线程“在webform中调用webmethod”


在asp.net中创建webmethod时的基本规则

  • 您的方法应该是静态的
  • 您需要使用
    System.Web.Services.WebMethod
    来装饰您的函数
C#代码隐藏

Javascript(Aspx)

在这里,在您的例子中,将getdata函数设置为静态,并将webmethod设置为静态。通过ajax调用webmethod时,使用
data.d
读取响应

[System.Web.Services.WebMethod]
public static string getData(int id)
{
    return "<option>ABC</option><option>CDE</option>";
}
参考网站:

类似的线程“在webform中调用webmethod”


我遵循您的代码和您现在发送的链接,我收到一条警告消息undefinedDo a inspect element,并查看您的ajax运行是否成功,同时检查您收到的响应形式。请查看
dataType:“json”
属性是否也包含在
$.ajax()
方法中。请尝试数据类型:'text'“然后检查,正如@SuprabhatBiswal inspect and check前面所说的,我遵循您的代码和您现在发送的链接,我收到了一条通知消息undefinedDo a inspect元素,并查看您的ajax运行是否成功,同时检查您得到响应的形式。请查看您的
$.ajax()
方法中是否还包含
数据类型:“json”
属性。请尝试使用数据类型:“text”并进行检查,如@SuprabhatBiswal前面所述
$("#firstDrop").on("change", function() {
    $.ajax({
        url: "Default.aspx/getData",
        type: "POST",
        dataType: "json",
        data: {
            id: $("#firstDrop").val()
        },
        success: function(data) {
            alert(data.d);
            $("#secondDrop").html(data.d);
        }
    });
});