【发布时间】:2019-02-09 20:31:20
【问题描述】:
这是 c# 中的 getter 方法,它获取用户通过查询输入的单词的含义,然后将它们填充到数据表中,然后将通过循环填充字符串列表,该循环将包含那些含义最后转换并返回为 json 字符串:
public static string getmeanings(string word)
{
string cs =
ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;
List<string> stringArr = new List<string>();
using (SqlConnection con = new SqlConnection(cs))
{
con.Open();
using (SqlDataAdapter rdr = new SqlDataAdapter("SELECT MEANING FROM WORDS T1 , MEANINGS T2 WHERE WORD LIKE N'" + word + "'AND T1.WORD_ID = T2.WORD_ID", con))
{
using (DataTable dt = new DataTable())
{
rdr.Fill(dt);
for(int i =1;i< dt.Rows.Count; i++)
{
stringArr.Add(dt.Rows[0][i].ToString());
}
}
string json1 = JsonConvert.SerializeObject( stringArr);
return json1;
}
}
}
这里是 ajax/jquery 代码:在 keyup 时,ajax 将调用 getter 方法,成功时它会改变一个包含返回 json 对象结果的表
$(function () {
$("#text1").keyup( function () {
var word = $("#text1").val();
$.ajax({
type: "GET",
url: "toshow.aspx/getmeanings",
data: { word: word },
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (result) {
$(".tablefill").append("<table><tr><td>meaning id</td><td>meaning</td></tr><tr><td>"+result[0]+"</td></tr></table>");
console.log(result);
}, error: function (err) {
alert('ERROR');
}
});
});
});
在我测试代码 ajax 成功后,没有错误或失败,但结果始终是控制台日志中未定义的对象
【问题讨论】:
标签: jquery asp.net json ajax webforms