Jquery 自动完成插件未显示成功响应
Jquery autocomplete plugin not showing success response
我正在使用这样的jquery自动编译插件
$( "#city" ).autocomplete({
source: function( request, response ) {
$.ajax({
url: "http://www.abc.com/test.php",
dataType: "jsonp",
data: {
featureClass: "P",
style: "full",
maxRows: 12,
name_startsWith: request.term
},
success: function( data ) {
alert("hello");
}
});
},
minLength: 2,
select: function( event, ui ) {
log( ui.item ?
"Selected: " + ui.item.label :
"Nothing selected, input was " + this.value);
},
open: function() {
$( this ).removeClass( "ui-corner-all" ).addClass( "ui-corner-top" );
},
close: function() {
$( this ).removeClass( "ui-corner-top" ).addClass( "ui-corner-all" );
}
});
我没有收到任何关于成功的警报框。
火狐显示我得到这个作为回应
[{"label":"mark2","value":1},{"label":"abc1","value":20}]
它是否期望其他回报
鉴于您从中获取的示例工作正常,并且使用 jsfiddle 复制相同的示例按预期工作,您的示例不起作用的原因可能是您在页面的其他地方有一个 javascript 错误,该错误正在停止进一步的 javascript 执行。
另外,我复制了该示例,更改了仅在成功回调中放置alert
- 这也很好用,但是您应该注意,jQueryUI 自动完成的文档指出:
在提供自定义源回调以处理请求期间的错误时,这一点很重要。即使遇到错误,也必须始终调用响应回调。这可确保小组件始终具有正确的状态。
并不是说这是你的错误,但值得注意的是!
编辑 我想到了一个想法,如果您的 ajax 调用实际上生成了服务器端错误 (http500),那么您将永远不会输入success
回调,也永远不会收到警报。尝试向 ajax 调用添加错误回调,看看是否是这种情况:
$.ajax({
url: "http://www.abc.com/test.php",
dataType: "jsonp",
data: {
featureClass: "P",
style: "full",
maxRows: 12,
name_startsWith: request.term
},
success: function( data ) {
alert("hello");
},
error: function (xhr, textStatus, errorThrown){
alert("error: " + errorThrown);
}
});
相关文章:
- jquery Ajax没有;不要显示任何信息(既不显示成功也不显示失败)
- Jquery 自动完成插件未显示成功响应
- Jquery表单插件未显示成功功能
- 使用dropzone上传文件后显示成功消息
- 无法在离子模板中显示成功的 angularjs $http从本地服务器获得响应
- 在 Jqgrid 编辑表单上显示成功消息
- 代码点火器 Javascript 警报,单击确定页面刷新时显示成功消息
- 弹出窗口关闭后如何显示成功消息
- 在 JQGrail 中编辑行后无法显示成功消息
- 在 Ajax 调用后显示成功消息的问题
- 提交时的 Jquery 表单显示成功消息
- 从 yii2 活动表单(在模态中)保存数据后无法显示成功消息
- 如何在回发后显示成功和错误消息
- 如何通过表单提交在插入后显示成功消息
- 请上传 显示成功,但图像不在上传目录中
- 如何在 javascript 中正确提交后显示成功警报
- 如果语句显示成功与角度
- 如何在使用sweet js发送电子邮件后显示成功消息
- BootstrapValidator未显示成功消息
- 修改方法以显示成功/失败消息.AngularJS