【问题标题】:How to define received datatype, in backbone.js fetch()?如何在backbone.js fetch() 中定义接收到的数据类型?
【发布时间】:2012-04-12 12:13:41
【问题描述】:

从服务器获取数据返回我作为 string 数据类型而不是 application/json 数据类型的 json 数据,因此集合不会被刷新。

我已尝试将 jquery.ajax 选项 contentType:"application/json" 赋予 fetch 选项,但仍然不起作用。

我怎样才能让它工作?我要从服务器发送 mimetype 吗?如果有,怎么做?

我在发送的数据上使用 json_encode。

preloader.fetch({
        contentType:'application/json'
    });

preloader 是我收藏的一个实例。

编辑: 我的子视图模板没有被检测到,因为我将它保留在 masterview 的 $el 元素之外,更正了它,现在我收到 underscore.js 错误,即

str 为空

str.replace(/\\/g, '\\\\')     //at line 913

这是因为主干应用程序没有将其视为 json 对象吗?

请求标头

Connection  close
Content-Type    text/html
Date    Thu, 12 Apr 2012 13:00:58 GMT
Server  Apache
Transfer-Encoding   chunked
Vary    Accept-Encoding

响应标头 有行

Accept  application/json, text/javascript, */*; q=0.01

表示是json,那么问题出在哪里?

【问题讨论】:

  • 不一样,那家伙想在发出 fetch() 请求之前发送数据,我想将接收到的数据读取为 json。
  • 我认为你的服务器端有问题。它不仅是 contenttype,还有其他东西。你能给我们展示一下request 和response 的样子吗?例如:$ curl http://localhost/myresource 和 $ curl -I http://localhost/myresource。
  • 另外.. 不要向您现有的问题添加新问题。专注于具体问题。
  • 我刚刚看到响应和请求标头,那里一切正常,

标签: backbone.js json backbone-events


【解决方案1】:

我认为contentType option 用于请求(您的请求)。

试试dataType:"json"。

【讨论】:

  • 如果您为服务器输出“Content-Type: application/json”设置了正确的标头,则不需要这样做
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-01-20
  • 1970-01-01
  • 1970-01-01
  • 2022-01-05
  • 2013-11-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多