0

我正在尝试执行 GET 请求以从 CouchDB 中提取文档。我收到了典型的“xmlhttprequest 无法加载...”错误,这是您在跨域请求时遇到的错误。但是,即使我创建 jQuery.ajax 对象并将其数据类型设置为 jsonp 并将跨域设置为 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);

有什么明显的问题吗?

4

2 回答 2

1

我发现我需要的 jquery ajax 参数应该在 jquery.couch 调用的 ajaxOptions 部分中设置。所以它看起来像这样(并且有效):

$.couch.db(options.dbName).openDoc(docId, options, {
        dataType: 'jsonp',
        success: function (data) {
            console.log(data);
        }
    });

将 ajaxOptions 作为函数传递代替自己创建 jquery.ajax 对象。

于 2013-02-27T20:06:10.440 回答
0

尝试像这样的ajax请求

$.ajax({
  type : 'POST',
  url : 'http://localhost:5984/',
  dataType : "jsonp",
  contentType : "application/json",
  success : function(data) {
    //function body
  }
});
于 2013-02-27T19:54:30.600 回答