c# asp.net jQuery AJAX 从 MySQL 获取数据
Posted
技术标签:
【中文标题】c# asp.net jQuery AJAX 从 MySQL 获取数据【英文标题】:c# asp.net jQuery AJAX Fetch Data From MySQL 【发布时间】:2018-10-20 08:13:06 【问题描述】:解释想做什么。 这(版本 1.)工作正常...
Default.aspx (ver 1.)
<script type="text/javascript" src="jquery-3.3.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function ()
setInterval(function ()
$("#show").load("Data.aspx")
, 3000);
);
</script>
<div id="show"></div>
Data.aspx(版本 1.)
protected void Page_Load(object sender, EventArgs e)
FillList();
[WebMethod]
public void FillList()
string constr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
using (mysqlConnection con = new MySqlConnection(constr))
using (MySqlCommand cmd = new MySqlCommand("SELECT Name,Nick FROM dbBase ORDER BY id ASC"))
using (MySqlDataAdapter da = new MySqlDataAdapter())
cmd.Connection = con;
da.SelectCommand = cmd;
using (DataTable dt = new DataTable())
da.Fill(dt);
GridView1.DataSource = dt;
GridView1.DataBind();
但是当我使用 [WebMethod].... 不工作
Default.aspx(版本 2.)
<script type="text/javascript" src="jquery-3.3.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function ()
setInterval(function ()
$('#show').load()
.$.ajax(
url: "Data.aspx/FillList"
);
, 3000);
);
</script>
<div id="show"></div>
在 Data.aspx 中,我删除了 FillList();来自 Page_Load。 Ajax 不会调用 void FillList()。你能看出哪里有问题吗?
【问题讨论】:
我不确定你是如何调用你的网络方法的。此外,WebMethods 需要是 webforms 中的静态方法。 看看this article。 是的,正如@GaganDeep 所说,您需要将 FillList 方法声明为静态才能从 ajax 调用中调用它。 【参考方案1】:您的 WebMethod 需要是静态尝试...
[WebMethod]
public static void FillList()
...
【讨论】:
【参考方案2】:[webmethod(true)]
public string FillList()
string str="";
DataTable dt= new DataTable();
string constr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
using (MySqlConnection con = new MySqlConnection(constr))
using (MySqlCommand cmd = new MySqlCommand("SELECT Name,Nick FROM dbBase ORDER BY id ASC"))
using (MySqlDataAdapter da = new MySqlDataAdapter())
cmd.Connection = con;
da.SelectCommand = cmd;
da.fill(dt);
if(dt.row.count!=0 && dt!=null)
return Newtonsoft.Json.JsonConvert.SerializeObject(dt);
else
return "";
【讨论】:
以上是关于c# asp.net jQuery AJAX 从 MySQL 获取数据的主要内容,如果未能解决你的问题,请参考以下文章
如何在 c# ASP.Net 中使用有效的 JSON 输出创建 JSON WebService 并使用 JQuery/Ajax 进行查询
为啥我的 Jquery Ajax 调用不起作用?(Asp.net MVC C#)
jQuery 通过 Ajax 在 ASP.NET MVC C# 中调用 Action 方法
使用 Jquery Ajax 将数组传递给 asp.net C# 控制器