我已多次搜索并找到符合我的代码结构完美的示例。然而,我没有从我的ajax中获得结果显示在输入框上。
我从POST获得的结果已经用firebug评估,一切看起来都很棒。
这是javascript即时使用。
<script type="text/javascript" language="javascript">
$(function () {
$("input.FamousPerson-List").autocomplete({
source: function (request, response) {
$.ajax({
url: "/FamousPeople/FPPAutoComplete",
type: "POST",
dataType: "json",
data: {
searchText: request.term,
maxResults: 12
},
success: function (data) {
response($.map(data, function (item) {
return {
value: item.DisplayName
}
}))
}
});
}
});
});
以下是我在网络上使用的实际代码的链接。AutoCompleteTesting只需键入下面其中一个框中的任何字母即可调用它。
感谢。
答案 0 :(得分:2)
如果仔细查看发送的请求,您会注意到正在添加回调参数。很奇怪,对吗?由于您正在进行本地AJAX帖子,而不是跨域(JSONP)帖子。
我注意到你的项目包含jQuery Validate。根据{{3}}处理类似问题的问题(执行JSONP请求而不是正常的JSON请求,即使你要求一个),这是jQuery验证中的一个已知问题。
根据其他答案判断,您可以更改您的jQuery版本,或者使用jQuery验证的修补版本(找到this answer)。