【问题标题】:Ajax call doesnt work on heroku with Large Amount of dataAjax 调用不适用于具有大量数据的 heroku
【发布时间】:2013-03-03 01:50:05
【问题描述】:

在 Localhost 上一切正常,但是当我在 heroku 上部署代码时出现问题。

这是我在应用程序中使用的简单 Ajax 调用。 我正在使用 AJAX 将一些数据发送到服务器进行处理。 当我向请求中添加大量数据时,它会失败。 如果我通过 AJAX 请求发送的数据较少,它工作正常。

$.ajax({
        url:'Ajax.php',
    data:"data to send",
    type:'POST',
    success: function(data) {
           console.log("success");
    },
    error: function(XMLHttpRequest, textStatus, errorThrown) {
        console.log("failed");
    }
});

谁能告诉我为什么会这样???

【问题讨论】:

    标签: javascript jquery heroku


    【解决方案1】:

    Heroku 在超时前只允许 30 秒的请求。

    https://devcenter.heroku.com/articles/request-timeout

    发生这种情况时,如果完成请求的时间超过 30 秒,路由器将终止该请求。当请求离开路由器时,超时倒计时开始。然后,您的应用程序必须在测功机中处理该请求,然后在 30 秒内将响应发送回路由器以避免超时。

    【讨论】:

      【解决方案2】:

      这绝对与系统内存使用有关,尤其是在你将要来回解析大量 JSON 对象的场景中!

      哦,等等!不仅是 JSON 数据,使用 POST/GET 方法的任何类型的数据(大小很大)都可能导致失败,因为许多面向 JS 的框架(如 nodejs)最后仍然将它们作为对象返回!

      【讨论】:

        猜你喜欢
        • 2012-08-11
        • 2018-02-28
        • 1970-01-01
        • 1970-01-01
        • 2018-04-14
        • 2011-04-04
        • 1970-01-01
        • 2021-08-13
        • 2012-07-22
        相关资源
        最近更新 更多