C# 无法在asp.net c中使用ajax jquery获取数据表单函数#
我正在尝试在asp.net中使用$.ajax()方法填充html标记,但没有从成功参数中获取任何数据 我正在从c#代码调用getData函数,我试图返回一个字符串,但它不起作用。我还试图返回user Response.write(),但同样的问题 当我警告返回值时,它会显示aspx页面代码 如下图所示 这是我的密码 Default.apsxC# 无法在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
<%@ 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
data.d
读取响应
[System.Web.Services.WebMethod]
public static string getData(int id)
{
return "<option>ABC</option><option>CDE</option>";
}
参考网站:
类似的线程“在webform中调用webmethod”
- 您的方法应该是静态的
- 您需要使用
来装饰您的函数System.Web.Services.WebMethod
data.d
读取响应
[System.Web.Services.WebMethod]
public static string getData(int id)
{
return "<option>ABC</option><option>CDE</option>";
}
参考网站:
类似的线程“在webform中调用webmethod”
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);
}
});
});