Typeahead.js是来自Twitter的非常受欢迎的自助提供库.
我刚刚安装,它似乎不支持通过JSONP的跨域请求.
我得到关于远程起源的错误不允许.
我google了一下,我找不到任何相关的东西.
任何人都可以确认是否支持此功能.
解决方法
关于您的第一个问题,根据您的错误消息判断,您可能没有正确实现它,因为typeahead没有执行JSONP请求.
从Typeahead.js v0.9.3开始,您可以通过将’jsonp’作为dataType传递来执行JSONP请求,如下所示:
$('.typeahead').typeahead({ name: 'jsonpExample',remote: { // ... dataType: 'jsonp' } });
您会发现typeahead现在将执行JSONP请求.
UPDATE
在回答你的第二个问题.作者的目标是支持JSONP – 并且大体上它确实有效 – 但它在当前版本的某些边缘情况下无法正常工作.
例如,如果您需要使用“回调”之外的查询来触发JSONP请求,那么您将陷入困境.在这种情况或类似情况下,您有两种选择:
1)补丁typeahead.js自己让JSONP工作.回调名称问题,例如can be fixed by a simple solution
2)当暴露完整的jQuery AJAX对象时,等待v0.10被释放.不幸的是,它已经过了承诺交付日期的一个月,并且没有迹象表明它将在未来几周内完成