代码之家  ›  专栏  ›  技术社区  ›  kovshenin

jquery:getjson vs get,http头?(Twitter API)

  •  1
  • kovshenin  · 技术社区  · 14 年前

    大家好。我正在通过javascript使用Twitter API,我正在调用 user_timeline.json . 一切似乎都很好 jQuery.getJSON 但我真的希望得到一个字符串形式的响应,而不将其转换为对象,这是 getJSON 做。当我改变我的方法 格特森 get ,我在chrome中得到以下错误:

    Origin http://localhost is not allowed by Access-Control-Allow-Origin.
    

    这似乎是由于缺少接受头造成的。我说的对吗?如果是,如何为原始文件指定HTTP头 得到 方法?

    谢谢。

    2 回复  |  直到 14 年前
        1
  •  1
  •   Gabriele Petrioli    14 年前

    只有在使用JSON时,才允许使用Ajax查询与原始域不同的域。( 出于安全考虑 )

    您将需要使用服务器代理来执行此操作。


    如果您希望实际的JSON为字符串格式,那么只需重新将其字符串化。

    使用 https://github.com/douglascrockford/JSON-js 然后打电话 var jsonString = JSON.stringify( yourJsonObject );

        2
  •  3
  •   Nick Craver    14 年前

    您不能将其作为原始文本获取,整个工作方式是jsonp,它创建了一个 <script> 标记,返回的数据是实际的javascript,如下所示:

    myFunc({ ...data ... });
    

    这里不是jquery将它转换成json,而是实际调用的javascript,其中 myFunc 是你的回调函数吗?所以请求从来都不是要处理的文本,它是一个javascript对象。