Ajax调用不能在heroku上使用大量数据

Ajax call doesnt work on heroku with Large Amount of data

本文关键字:数据 调用 不能 heroku Ajax      更新时间:2023-09-26

在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");
    }
});
谁能告诉我为什么会这样?

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

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

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

这绝对与系统内存使用有关,特别是在您将来回解析大量JSON对象的屏幕中!

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