我正在尝试执行GET请求以从CouchDB中提取文档。我得到了跨域请求的典型“xmlhttprequest无法加载...”错误。但是,即使在创建jQuery.ajax对象并将其数据类型设置为jsonp并将crossdomain设置为true时,此错误仍然存在。它似乎永远不会附加任何回调到我的网址。
代码:
var ajaxOptions = new $.ajax({
url: 'http://localhost:5984/',
crossDomain: true,
dataType: 'jsonp'
});
然后我调用jquery.couch.js来检索文档并格式化url:
$.couch.db(options.dbName).openDoc(docId, options, ajaxOptions);
有任何明显的问题吗?
答案 0 :(得分:1)
我发现我需要的jquery ajax参数应该在jquery.couch调用的ajaxOptions部分设置。所以它看起来像这样(并且有效):
$.couch.db(options.dbName).openDoc(docId, options, {
dataType: 'jsonp',
success: function (data) {
console.log(data);
}
});
将ajaxOptions作为函数传递取代了我自己创建jquery.ajax对象。
答案 1 :(得分:0)
尝试像
这样的ajax请求$.ajax({
type : 'POST',
url : 'http://localhost:5984/',
dataType : "jsonp",
contentType : "application/json",
success : function(data) {
//function body
}
});