jquery自动完成抛出-->&引用;parsererror";,SyntaxError:无效的标签
在自动完成之后,我想到了这个jquery自动完成抛出-->&引用;parsererror";,SyntaxError:无效的标签,jquery,json,flask,jquery-ui-autocomplete,Jquery,Json,Flask,Jquery Ui Autocomplete,在自动完成之后,我想到了这个 $("#search").autocomplete({ source: function (request, response) { $.ajax({ url: "/search", dataType: "jsonp", data: { feat
$("#search").autocomplete({
source: function (request, response) {
$.ajax({
url: "/search",
dataType: "jsonp",
data: {
featureClass: "P",
style: "full",
maxRows: 12,
name_startsWith: request.term
},
success: function (data) {
response($.map(data.username, function (item) {
return {
label: item.name,
value: item.name
};
}));
},
error: function (data) {
}
});
},
minLength: 2,
select: function (event, ui) {
},
});
然而,我从来没有点击过success:function(data){..}
,但总是点击error:function(data){
Firebug显示错误:“parsererror”,语法错误:无效标签
/search
url在服务器端生成以下内容:
def search():
data = None
if 'name_startsWith' in request.args:
q = request.args['name_startsWith']
data = User.query(ndb.AND(User.firstname >= q, User.firstname <= q + u'\ufffd')).fetch(12)
js = []
for user in data:
js.append({'name' : user.fullname()})
return jsonify(username=js)
def search():
数据=无
如果request.args中的“name_startsWith”:
q=request.args['name\u startsWith']
data=User.query(ndb.AND(User.firstname>=q,User.firstname将数据类型更改为json
,因为您的响应是一个json对象,请求被发送到同一个域,所以不需要jsonp
$("#search").autocomplete({
source: function (request, response) {
$.ajax({
url: "/search",
dataType: "json",
data: {
featureClass: "P",
style: "full",
maxRows: 12,
name_startsWith: request.term
},
success: function (data) {
response($.map(data.username, function (item) {
return {
label: item.name,
value: item.name
};
}));
},
error: function (data) {
}
});
},
minLength: 2,
select: function (event, ui) {
},
});
演示:
演示:我怀疑用户名包含一些无效字符,如“
”。您可以共享其中的字符集吗确保。{“用户名”:[{“名称”:“Kave Kory”}]}
虽然您的数据类型是jsonp,但我看不到任何东西,但这是一个json响应,请将数据类型更改为“json”+1,非常感谢。它很有效。但在您的回答中,您再次看到了jsdonp
;-)