【问题标题】:RESTful HTTP Response from Eve appears empty in jQuery.getJSON来自 Eve 的 RESTful HTTP 响应在 jQuery.getJSON 中显示为空
【发布时间】:2015-03-29 16:57:22
【问题描述】:

我正在尝试使用 eve 和来自 python-eve.org 的教程示例查询 MongoDB。我的 jQuery

$.getJSON('http://127.0.0.1:5000/people/',  function(data, status){
});
alert(typeof(status) + " length of " + status.length);

只给我“状态”作为长度为 0 的字符串。当试图访问函数中的“数据”时,我没有得到任何响应。我用

检查了语法
$.getJSON('https://graph.facebook.com/zombies',  function(data, status){
alert(data.description);        
});

效果很好。所以接下来我观察了如何处理请求并使用 Chrome 扩展“高级 REST 客户端应用程序”。两个请求(到 '127.0.0.1:5000/people/' 和 facebook)都给了我响应 HTTP 代码 200 和请求的数据。 在 eve 作为进程运行的终端窗口中,控制台记录了请求(在 jQuery 和通过 Chrome 扩展的情况下)

127.0.0.1 - - [29/Mar/2015 14:47:49] "GET /people/ HTTP/1.1" 200 -

这表明请求得到了正确处理。这给我留下了一个问题:为什么在尝试使用 jQuery 时无法访问数据对象?尝试将 {"Accept":"application/json"} 添加到 jQuery 没有帮助。

欢迎提出任何建议! 舒马克斯

【问题讨论】:

  • status 变量的作用域在 $.getJSON() 中起作用。但是外面的变量声明为全局变量
  • 谢谢泰米尔语。我试图访问函数内的数据和状态,但没有收到任何响应。

标签: jquery mongodb rest http eve


【解决方案1】:

问题是由于同源策略 (SOM) 引起的冲突。 Eve 允许定义 CORS,从而允许查询。 (请参阅文档)。

【讨论】:

    猜你喜欢
    • 2020-09-08
    • 1970-01-01
    • 2017-09-28
    • 2018-06-07
    • 1970-01-01
    • 1970-01-01
    • 2014-12-16
    • 2016-05-19
    • 1970-01-01
    相关资源
    最近更新 更多