Jquery 在文本框中显示来自数据库的建议单击
我想在用户开始在文本框中输入文本时显示对文本的建议。 这是我的文本框Jquery 在文本框中显示来自数据库的建议单击,jquery,asp.net,ajax,Jquery,Asp.net,Ajax,我想在用户开始在文本框中输入文本时显示对文本的建议。 这是我的文本框 <div class="form"> <asp:TextBox runat="server" name="name" CssClass ="input-text" ID="txtschoolCode" ></asp:TextBox> </div> 这是我的ajax函数 <script type="text/ja
<div class="form">
<asp:TextBox runat="server" name="name"
CssClass ="input-text" ID="txtschoolCode" ></asp:TextBox>
</div>
这是我的ajax函数
<script type="text/javascript">
$(function () {
$('#<%=txtschoolCode.ClientID%>').autocomplete({
source: function (request, response) {
$.ajax({
type: "POST",
url: "ChangeRequestForm.aspx/GetData",
data: "{ 'pre':'" + request.term + "'}",
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function (data) {
response($.map(data.d, function (item) {
return {
value: item
}
}))
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert("Error");
}
});
}
});
});
public static List<object> GetData(string pre)
{
List<object> obj = new List<object>();
ActivityLogDAL getAutoData = new ActivityLogDAL();
DataTable empResult = getAutoData.getAutoLoadData();
// getting data in empResult
foreach (DataRow dr in empResult.Rows)
{
obj.Add(dr);
}
// have values in obj
return obj;
}
$(函数(){
$('#')。自动完成({
来源:功能(请求、响应){
$.ajax({
类型:“POST”,
url:“ChangeRequestForm.aspx/GetData”,
数据:“{'pre':'”+request.term+“}”,
数据类型:“json”,
contentType:“应用程序/json;字符集=utf-8”,
成功:功能(数据){
响应($.map)(数据.d,函数(项){
返回{
价值:项目
}
}))
},
错误:函数(XMLHttpRequest、textStatus、errorshown){
警报(“错误”);
}
});
}
});
});
这是我的代码隐藏函数
<script type="text/javascript">
$(function () {
$('#<%=txtschoolCode.ClientID%>').autocomplete({
source: function (request, response) {
$.ajax({
type: "POST",
url: "ChangeRequestForm.aspx/GetData",
data: "{ 'pre':'" + request.term + "'}",
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function (data) {
response($.map(data.d, function (item) {
return {
value: item
}
}))
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert("Error");
}
});
}
});
});
public static List<object> GetData(string pre)
{
List<object> obj = new List<object>();
ActivityLogDAL getAutoData = new ActivityLogDAL();
DataTable empResult = getAutoData.getAutoLoadData();
// getting data in empResult
foreach (DataRow dr in empResult.Rows)
{
obj.Add(dr);
}
// have values in obj
return obj;
}
公共静态列表GetData(字符串前置)
{
List obj=新列表();
ActivityLogDAL getAutoData=新ActivityLogDAL();
DataTable empResult=getAutoData.GetAutoLaddata();
//在结果中获取数据
foreach(empResult.Rows中的数据行dr)
{
对象添加(dr);
}
//在obj中有值
返回obj;
}
它给了我警告(“错误”);
代码有什么问题首先,您应该了解如何调试ajax请求,以便获得真正的错误。查看浏览器工具中的控制台和网络选项卡。从服务器获取实际的HTTP代码和响应以告诉您错误。在JS中,此信息也可作为错误回调中XMLHttpRequest对象的一部分使用。请参阅“jqXHR对象”一节中的内容,了解它公开了哪些属性。然后您可以向控制台发出警报或将这些属性记录到控制台中,以提供更多信息。e、 g.
console.log(XMLHttpRequest.status、XMLHttpRequest.statusText、XMLHttpRequest.status、XMLHttpRequest.responseText)代码>可能是一组有用的数据。如果服务器只是返回一个“500内部服务器错误”,那么错误消息背后的真正错误应该被记录在Windows事件查看器的服务器端。还有一点建议,不要手动生成数据字符串,它太容易出错<代码>数据:JSON.stringify({“pre”:request.term})
是一种更好的方法。实际上,这可能与您的问题有关,具体取决于您从服务器收到的错误。