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

获取远程数据-PHP还是javascript?

  •  0
  • Alex  · 技术社区  · 14 年前

    例如,您会选择什么方法从Twitter检索tweet?

    • 在jQuery中使用json(如 http://juitter.com/ ),其中客户端执行请求。
    • 使用PHP,例如CURL,服务器在哪里做请求

    7 回复  |  直到 14 年前
        1
  •  1
  •   dekomote    14 年前

    这两种方法是有区别的。在使用服务器端外部HTTP请求时,将数据检索到服务器。如果您想让客户机看到这些数据,就必须在客户机发出下一个请求时将其发送到服务器端。对于服务器端请求,您还可以执行本机HTTP请求和跨域请求。

    但是 如果你想把数据放在服务器端(把tweet存储在db中),你必须把它们从客户端发送回服务器。Javascript不能执行跨域XHR请求。为了做到这一点,你(或者做这件事的lib)做了一些变通方法:使用iframe,使用include-of-JS文件,这些文件已经有了你需要的信息等等。

    如果您需要使用web服务,我建议您使用后端作为服务客户机,或者从客户机端使用及时的pull,或者使用一些“comet”技术。

        2
  •  2
  •   racetrack    14 年前

    使用服务器端方法,您可能会受益于缓存设施,以及总体上更快的页面加载(无需往返twitter或任何其他第三方服务) 每个

    但是客户端方法最明显的优点是无麻烦。

        3
  •  1
  •   Liam Bailey    14 年前

    我认为这取决于你拉入的流的更新频率。如果是非常频繁的,那么JS就更好了,因为您可以在不刷新页面的情况下连续运行调用,而不是频繁地运行调用,并且您可以使用CURL拉取所有数据,并使用JS制作动画。

        4
  •  1
  •   Arc    14 年前

    当您必须执行许多请求(例如供公共站点使用)以降低服务器负载/避免瓶颈时,客户端请求会更好,可能受益于内容交付网络(CDN)代表您的web客户端缓存请求,并且您将一些责任从您自己转移到您的站点的用户身上,因为他们实际上正在访问第三方API(如果您有,这可能更相关) 真正地 许多请求;一些API使用条款甚至限制了每个时间单位的请求数,因此客户端请求是大型站点的唯一选择)。

        5
  •  1
  •   Teson    14 年前

    使用服务器作为“MITM”,您可以缓存、更改、插入第三部分的数据,然后再发布给您的用户。不过,您的用户可能不喜欢它。。。

        6
  •  1
  •   A_Var    14 年前

    我更喜欢客户端显示tweet,而不是服务器端,因为原因:-

    • 当你在服务器端的时候,它需要额外的往返于服务器和客户端。当你只需要显示tweets时,你需要旅行吗??。推特只是社交信息(打个招呼!!!)它们不应该含有任何有害物质。
        7
  •  0
  •   Praveen Prasad    14 年前
    //for client making request   
    
         jQuery.ajax({
                    url:'target_url',
                    type:'get',
                    dataType:'jsonp',
                    success:function(data){
                          //do something with data
                       } 
            });
    
        //note: dataType is jsonp not JSON as calling twitter from your domain would 
        //not be allowed by browser(cross domain request are not allowed) 
        //so u have  use jsonp.