首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery-tokeninput不显示搜索结果

jQuery-tokeninput不显示搜索结果
EN

Stack Overflow用户
提问于 2014-02-16 14:48:07
回答 1查看 669关注 0票数 1

似乎我有一些环境问题,但我不确定如何进行调试。

我正在使用jQuery-tokeninput,所有这些在本地主机上都工作得很好。然而,一旦移动到我的生产箱,它就停止工作了。

我正在使用chromes 'Developer Tools‘来解决问题。JQuery调用在某种程度上是有效的,因为数据是从数据库收集的,我可以在响应中看到它。一切看起来都很好,但它只是没有渲染下拉,而是坚持“搜索”。在Chrome的“开发者工具”中没有抛出错误,我在apache日志中也看不到相关的错误。

我被困在这里了,因为没有错误就很难解决问题。

任何想法/建议都将不胜感激!

编辑

尽管此调用的响应在两个环境中是相同的,但header元素的完整列表却不同。

在这里查看标题是否存在任何不匹配的元素。

Localhost (windows环境):

代码语言:javascript
复制
Request URL:http://localhost/dropdown_getcontact.php?q=raq
Accept:application/json, text/javascript, */*; q=0.01
X-Requested-With:XMLHttpRequest
Query String Parametersview sourceview URL encoded
q:raq

生产环境(linux环境):

代码语言:javascript
复制
Request URL:http://localhost/dropdown_getcontact.php?callback=jQuery110204361302594188601_1392780655198&q=raq&_=1392780655199
Accept:*/*
Query String Parametersview sourceview URL encoded
callback:jQuery110204361302594188601_1392780655198
q:raq
_:1392780655199

干杯,小克

EN

回答 1

Stack Overflow用户

发布于 2014-02-20 23:50:46

一篇完整的文章,给未来的谷歌人:

不允许跨域AJAX调用。要解决此问题,您需要使用JSONPhere中有一个很好的例子来说明如何做到这一点。

jQuery TokenInput插件自动检测跨域调用,并自动启用‘JSON -mode’,我想这就是阻止返回的JSON在这里显示的原因。我还猜测,当localhost是域名时,Chrome已经放宽了跨域AJAX请求的规则,因为它的安全漏洞要小得多。因此,您的JSON被返回(如果它被托管在任何第三个域上,而不是本地主机,也不是您的生产服务器)-但是插件期望使用JSONP,因此不能处理标准的JSON输入。如果其他浏览器也以同样的方式运行,那么插件中可能存在一个小bug。

作为参考,您可以通过设置参数明确设置是否处于crossDomain模式。

代码语言:javascript
复制
crossDomain = true;

出于好奇心,尝试在初始设置中包含crossDomain = false,看看是否有效。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21808211

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档