我在 AJAX、CouchDB 和 JavaScript 方面遇到了一些问题。
我可以在浏览器中从 CouchDB 打开以下 URL:http://192.168.1.58:5984/mydb/名称
new Ajax.Request('http://192.168.1.58:5984/mydb/namee', {
method: 'POST',
onComplete: function(transport) {
alert(transport.responseText);
}
});
我总是收到空警报。
你能帮助我吗?
这里的问题是,您的浏览器不允许您在脚本来源之外的其他 Web 服务器上进行查询。 (谷歌搜索:同源政策)
但有一种通用技术可以解决此用例。它被称为JSONP。从版本 1.0 开始,您必须首先在 CouchDB 中激活此功能。在 CouchDB 配置文件 (.ini) 的 [httpd] 部分中,您必须添加
允许 jsonp = true
完成此操作后,您可以在 CouchDB 上生成 JSONP 查询。基本上像这样动态添加行:
<script type="text/javascript"
src="http://server2.example.com/getjson?callback=parseResponse">
</script>
但有关详细信息,请参阅上面链接的文章。
无论如何,我建议在 JavaScript 方面使用 jQuery、Dojo ToolKit 等框架。添加“?callback=?”就足够了在 URL 的末尾。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)