user_timeline.json
的电话。似乎一切都与jQuery.getJSON
一致,但我真的希望将响应作为一个字符串,而不是将它转换为getJSON
所做的对象。当我将方法从getJSON
更改为get
时,我在Chrome中收到以下错误:
Origin http://localhost is not allowed by Access-Control-Allow-Origin.
这似乎是由缺少Accept标头引起的。我对么?如果是这样,我如何为原始get
方法指定HTTP标头?
感谢。
答案 0 :(得分:3)
你不能把它作为原始文本,整个工作的方式是JSONP,它创建一个<script>
标签,返回的数据是实际的JavaScript,如下所示:
myFunc({ ...data ... });
这里不是jQuery将它转换为JSON,它是实际的JavaScript被调用,其中myFunc
是你的回调函数...所以请求永远不会处理文本,它是一个javascript对象。< / p>
答案 1 :(得分:1)
只有当您使用JSON时,才允许使用Ajax查询与原始域不同的域。 (出于安全原因)
见
您需要使用服务器代理才能执行此操作。
如果你想要字符串格式的实际JSON,那么只需重新字符串化它。
使用https://github.com/douglascrockford/JSON-js并致电var jsonString = JSON.stringify( yourJsonObject );