$(function () {
$("#tbNominalAccounts").autocomplete({
source: function (request, response){
$.ajax({
url: "TestPage3.aspx/GetUserNominalAccounts",
type:"POST",
datatype:"json",
data :{ searchText : request.term},
success: function(data)
{
response(
$.map(data, function(item)
{
return { label: item.NominalAccount, value:item.NominalAccount, id:item.NominalAccount}
}))
}
})
}
});
});
添加了断点并且它命中了ajax调用,但是当我在方法GetUserNominalAccounts
上放置一个断点时,它甚至到达它!为什么不发布的任何想法?!
我有一个ID为#tbNominalAccounts
的文本框仅供参考
答案 0 :(得分:0)
尝试在ajax请求中输入内容:
contentType: "application/json; charset=utf-8",
我注意到在使用jQuery Ajax时,默认内容类型application/x-www-form-urlencoded
不能很好地运行。
答案 1 :(得分:0)
重新格式化您的数据:
pString = '{"searchText":"' + request.term + '"}';
$.ajax({
data: pString,
...
您的服务器端代码应已正确“修饰”以允许页面访问。
以为我会使用asp.net从工作示例中添加一些代码:您可能需要使用此转换器来处理asp.net数据:
dataType: "jsond",
type: "POST",
contentType: "application/json",
converters: {
"json jsond": function(msg)
{
return msg.hasOwnProperty('d') ? msg.d : msg;
}
},
编辑:并且使用返回值:
focus: function(event, ui)
{
return false; // return "true" will put the value (label) from the selection in the field used to type
},