小编Shr*_*eni的帖子

如何在JavaScript中将AJAX输出流式传输到文件下载?

我们有一个REST API发出JSON,我们可以从中获取数据(使用AJAX).我们想要做的是能够进行AJAX调用,其中每个调用获取一小块数据(比如5000行左右),然后将其写入浏览器上的CSV文件作为下载.

似乎如果我们将所有数据都存储在JS内存中,那么将其写入CSV文件并不难,但如果我们要写出100K记录,那么我们将被迫一次性获取所有100K,然后生成文件一气呵成.

相反,我们觉得在服务器和客户端上下载小块并将其流式传输到文件下载会更加温和.有办法吗?

(我们目前正在使用jQuery 2.0.0,但不介意使用不同的库来完成这项工作)

javascript csv ajax jquery download

7
推荐指数
1
解决办法
1109
查看次数

在Webkit Mobile浏览器中捕获的OpenLayers纬度不准确

我正在编写一个带有Map的页面,我需要捕获地图上Tap/Click的位置并存储坐标.我正在使用OpenLayers js.在桌面浏览器(IE/FF/Chrome)上,这很好用.在移动设备上,可以在默认的Android浏览器上(在实际设备和模拟器中)正确捕获分路器.

然而,在移动webkit浏览器(iPhone Safari和Android Chrome Beta)上,我们遇到的问题是,在实际点击的较高(朝北)几个像素处捕捉到水龙头.错误未修复(因此,我不能只为事件的xy添加100以重新校准顶部.)

这是我用作clickhandler的代码:

OpenLayers.Control.ClickHandler = OpenLayers.Class(OpenLayers.Control, {                
    defaultHandlerOptions: {
        'single': true,
        'double': false,
        'pixelTolerance': 0,
        'stopSingle': false,
        'stopDouble': false
    },

    initialize: function(options) {
        this.handlerOptions = OpenLayers.Util.extend(
            {}, this.defaultHandlerOptions
        );
        OpenLayers.Control.prototype.initialize.apply(
            this, arguments
        ); 
        this.handler = new OpenLayers.Handler.Click(
            this, {
                'click': this.trigger
            }, this.handlerOptions
        );
    }, 

    trigger: function(e) {
        that.inputLonLat_EPSG4326 = null;

        var lonlat = that.inputMap.getLonLatFromViewPortPx(e.xy);

        that.logMessage("XY " + e.xy);
        that.logMessage("LonLoat " + lonlat);

        that.inputMarkers.clearMarkers();


    that.inputMarkers.addMarker(new OpenLayers.Marker(lonlat,that.icons["green"].clone()));

    lonlat.transform(that.inputMap.getProjectionObject(), new OpenLayers.Projection("EPSG:4326"));

    that.inputLonLat_EPSG4326 = lonlat;
    // For the moderation …
Run Code Online (Sandbox Code Playgroud)

javascript openlayers openstreetmap mobile-webkit

5
推荐指数
1
解决办法
369
查看次数

为应用程序提取页面帖子映射App-Scoped-ID

我们运行一个平台,作为用户与品牌互动的一站式仓库,通过应用程序(活动等)和品牌运营的页面.到目前为止,Facebook用户在应用程序和页面帖子之间的链接很简单 - 因为facebook通过了全球性的Facebook ID.

借助Graph API的v2.0以及向app-scoped-id的迁移,品牌仍然可以通过/ ids_for_business api调用从各种应用程序身份验证中连接app-scoped-id.当用户登录应用程序时,它们被认为是经过身份验证的,因此app-scoped-id之间的映射有效.

对于通过API从Facebook页面提取的帖子,"用户"被认为是未经过身份验证的,因此通过/ ids_for_business调用的映射会跳过列出的app_scoped_id到页面后拉动应用程序.

是否有解决方案将此类用户映射到发布到同一企业帐户下的其他应用的app-scoped-id?

或者,是否有其他方法可以跨应用程序和页面帖子可靠地映射此类用户?

facebook facebook-graph-api facebook-graph-api-v2.0

5
推荐指数
1
解决办法
563
查看次数

Facebook API支持用户页面私人消息

据我了解,根据品牌页面的新FB更改(将其移至时间轴结构),粉丝/会员/喜欢者可以私下留言"页面"或"品牌".我已经测试了它,它似乎正在工作.

我们有一个应用程序,允许品牌通过应用程序使用他们的页面,该应用程序在标准的Facebook界面上提供许多额外的服务,如 - 阅读墙,发布到墙,添加评论到墙,发布照片等.

随着用户可以私信FB页面的新变化,我们希望扩展我们的应用程序的功能,以便能够读取我们有权监控的页面的私人消息(即具有"manage_pages")作为扩展,对这些私人消息的响应自然也应该从应用程序本身发生.

我的问题是 - Facebook是否已开始支持读取用户 - >页面并使用页面 - >用户私人消息在其图形API中响应具有"manage_pages"权限的应用程序的能力?我试用了他们当前的文档和他们的Graph API Explorer工具,但却找不到相同的支持.

请在回复中添加对API/Reports/FB Releases的引用.谢谢.

[注意:目前FB似乎不支持此功能,即使是测试版.由于这是完成应用程序为了代表所有者管理页面而可以做的事情的一个关键功能,我已经在http://developers.facebook.com/bugs/108255755971025上对FB的错误跟踪进行了功能更改. - 随时投票,以便我们能够让FB工作并解决这个问题.]

message facebook facebook-page facebook-graph-api

4
推荐指数
1
解决办法
1万
查看次数

如何设置PHP日志以转到远程服务器?

我们将进行部署设置,我们将拥有许多服务器,其中大部分服务器在流量上升时自动添加到负载均衡器.这种设置的问题在于,如果一个开发人员需要拖尾日志来解决问题,他将不得不在每台服务器上打开一个控制台,由于开发人员通常不知道我们可能会使用多少台服务器,因此这很复杂当时有功能.

如果开发人员可以在一台服务器中找到所有日志 - 比如我们的部署服务器,则故障排除变得更加容易.

为此,我考虑使用cron设置从每台FE计算机到部署服务器的推送,该计划将复制我们的部署服务器上的日志.这种方法存在两个问题:

  • 有一分钟的滞后,因为crons不能更频繁地运行.
  • 每台FE计算机上的cron必须设置为同步到部署服务器上的特定位置,但事先我不知道有多少这样的FE服务器存在.

为了解决这个问题,我正在研究一种连接error_log或PEAR Log以将日志直接发送到我们的部署服务器的方法,该服务器会将其实时记录到/ var/log /中的本地位置.

谁知道我怎么配置这个?或者也许是一项服务来实现这一目标?

我们的服务器都是Ubuntu 10.04 LTS,我们在AWS的EC2实例上运行这些服务器.我们的PHP版本是5.3.

php debugging ubuntu error-log amazon-ec2

4
推荐指数
2
解决办法
4471
查看次数