【发布时间】:2019-09-22 00:21:08
【问题描述】:
我正在使用 ajax 调用使用 asp.net Web 表单绑定下拉索引更改事件的数据 遵循我的 Ajax 代码
var e = document.getElementById("<%=ddlEducation.ClientID%>");
var value = e.options[e.selectedIndex].value;
var text = e.options[e.selectedIndex].text;
if (value == "0") {
$('#dvRecords').empty();
alert("Please Select Education");
return false;
}
var obj = { "iEduid": value};
var myJSON = JSON.stringify(obj);
//Filling Grid View
$.ajax({
type: 'POST',
contentType: "application/json; charset=utf-8",
url: 'EditProfile.aspx/BINDEducationDATA',
data: myJSON,
dataType: 'JSON',
success: function (response) {
document.getElementById("ctl00_ContentPlaceHolder2_lblstram").value = response.d[i].eduStream
document.getElementById("ctl00_ContentPlaceHolder2_lbldescs").value = response.d[i].Edu_Description
},
error: function (xhr, status, error) {
console.log(xhr);
alert(status);
alert(error);
}
});
当它执行时我得到第一个错误是 parsererror 接下来我得到错误说 Unexpected token
以上是我的 C# 代码
[WebMethod]
public static List<EduDesc> BINDEducationDATA(string iEduid)
{
List<EduDesc> details = new List<EduDesc>();
DataTable dtManager = new DataTable();
using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["constr"].ConnectionString))
{
SqlCommand cmd = new SqlCommand();
SqlDataAdapter da = new SqlDataAdapter();
cmd = new SqlCommand("Select Edu_Stream,Edu_Description from tbl_education WHERE ID='" + iEduid + "'", con);
da.SelectCommand = cmd;
da.Fill(dtManager);
}
foreach (DataRow dtrow in dtManager.Rows)
{
EduDesc logs = new EduDesc();
logs.Edu_desc = (dtrow["Edu_Description"].ToString());
logs.eduStream = dtrow["Edu_Stream"].ToString();
details.Add(logs);
}
return details;
}
任何帮助将不胜感激。
【问题讨论】:
-
JSON 本身是什么样的?该错误表明它不正确。
-
{"iEduid":"35"}" 这是我生成的 json
-
您需要创建一个模型来收集您的 json 数据到 web 方法,如
class Sample { public string iEduid {get;set;}},然后在 web 方法中,您必须将参数更改为该模型,如public static List<EduDesc> BINDEducationDATA(Sample model) {...} -
什么是正确的方法可以请你帮助 m=with it
-
这通常意味着出现错误并且网站返回 html 而不是 json。由于您的错误处理程序没有触发,因此还有 200 级状态代码。使用浏览器开发工具跟踪网络并查看响应。
标签: c# jquery asp.net ajax asp.net-ajax