Javascript 不知道为什么我的AJAX调用没有';t在webforms中填充数据
当页面准备就绪时,我希望它调用函数BindGridView,该函数将填充GridView中的数据。我不知道为什么它不会进入Ajax中的“成功”部分。我在另一个ajax调用中也做了类似的事情,效果很好。我几乎完全遵循了教程。我得到一个500(内部服务器错误)Javascript 不知道为什么我的AJAX调用没有';t在webforms中填充数据,javascript,c#,jquery,ajax,webforms,Javascript,C#,Jquery,Ajax,Webforms,当页面准备就绪时,我希望它调用函数BindGridView,该函数将填充GridView中的数据。我不知道为什么它不会进入Ajax中的“成功”部分。我在另一个ajax调用中也做了类似的事情,效果很好。我几乎完全遵循了教程。我得到一个500(内部服务器错误) 受保护的无效页面加载(对象发送方,事件参数e) { BindDummyItem(); } public void BindDummyItem() { DataTable dtGetData=新DataTable(); dtGetData.Co
受保护的无效页面加载(对象发送方,事件参数e)
{
BindDummyItem();
}
public void BindDummyItem()
{
DataTable dtGetData=新DataTable();
dtGetData.Columns.Add(“ID”);
dtGetData.Columns.Add(“服务器名”);;
dtGetData.Columns.Add(“命令”);
添加(“CreateDate”);
dtGetData.Rows.Add();
GridView1.DataSource=dtGetData;
GridView1.DataBind();
}
[网络方法]
公共静态sObj[]测试()
{
字符串cs=ConfigurationManager.ConnectionString[“asdasd”]。ConnectionString;
SqlConnection con=新的SqlConnection(cs);
DataTable=新的DataTable();
List sl=新列表();
尝试
{
SqlDataAdapter da=新的SqlDataAdapter(“stredP”,con);
da.SelectCommand.CommandType=CommandType.StoredProcess;
da.SelectCommand.Parameters.Add(新的SqlParameter(“@StarteDate”,“2017-07-24 19:20:00”);
da.SelectCommand.Parameters.Add(新的SqlParameter(“@EndDate”,“2017-07-24 19:21:00”);
da.填充(数据表);
foreach(dataTable.Rows中的DataRow dtRow)
{
sObj DataObj=新的sObj();
DataObj.ID=Convert.ToInt64(dtRow[“ID”]);
DataObj.ServerName=dtRow[“ServerName”].ToString();
DataObj.Command=dtRow[“Command”].ToString();
DataObj.CreateDate=Convert.ToDateTime(dtRow[“CreateDate”]);
sl.Add(DataObj);
}
}
捕获(例外情况除外)
{
//待办事项
}
最后
{
con.Close();
}
返回sl.ToArray();
}
在.aspx中编码
<script>
$(document).ready(function () {
BindGridView();
});
function BindGridView() {
$.ajax({
type: "POST",
url: "ProjectName.aspx/test",
contentType: "application/json;charset=utf-8",
data: {},
dataType: "json",
success: function (data) {
console.log("dfgdgdfgdfg");
$("#GridView1").empty();
if (data.d.length > 0) {
for (var i = 0; i < data.d.length; i++) {
$("#GridView1").append("<tr><td>" +
data.d[i].ID + "</td> <td>" +
data.d[i].ServerName + "</td> <td>" +
data.d[i].Command + "</td></tr>" +
data.d[i].CreateDate + "</td></tr>");
}
}
},
error: function (result) {
//alert("Error login");
}
});
}
$(文档).ready(函数(){
BindGridView();
});
函数BindGridView(){
$.ajax({
类型:“POST”,
url:“ProjectName.aspx/test”,
contentType:“应用程序/json;字符集=utf-8”,
数据:{},
数据类型:“json”,
成功:功能(数据){
log(“DFGDFGDFG”);
$(“#GridView1”).empty();
如果(数据长度>0){
对于(变量i=0;i
在Web.Config中设置此选项将增加长度:
<system.web.extensions>
<scripting>
<webServices>
<jsonSerialization maxJsonLength="2147483647"/>
</webServices>
</scripting>
</system.web.extensions>
基于此:
您是否尝试在后端记录错误,可能是在catch块中?@TimSmojver我发现我尝试序列化的字符串大于它可以处理的大小(100kbs)。@jss抛出的是哪行代码?@TimSmojver我正在打印错误消息:function(result){}。我用更少的数据尝试了相同的代码,结果很有效。
<system.web.extensions>
<scripting>
<webServices>
<jsonSerialization maxJsonLength="2147483647"/>
</webServices>
</scripting>
</system.web.extensions>