gpt4 book ai didi

ajax - Morbo 服务器只有在不断刷新后才能工作

转载 作者:行者123 更新时间:2023-12-02 01:44:11 24 4
gpt4 key购买 nike

我正在使用 Mojolicious 开发网络应用程序。 morbo 开发服务器是一个很棒的东西,效果很好,但是一旦我开始在堆栈上返回复杂的哈希值然后呈现网页,morbo 服务器就会开始表现得很滑稽。在我的浏览器中,如果我导航到其中一个使用复杂哈希的网页,浏览器会告诉我连接已重置。在页面加载之前,我必须刷新大约 10-12 次。

例如:

下面的代码显示了我的一个应用程序 Controller 。它只是从 AJAX 请求中获取一个 json 对象,然后返回一个不同的 json 对象。它工作正常,除了浏览器要求在加载之前刷新一千次。

package MyApp::Controller::Library;
use Mojo::Base 'Mojolicious::Controller';

use Mojo::Asset::File;
use MyApp::Model::Generate;
use MyApp::Model::Database;
use MyApp::Model::IpDatabase;
use Mojo::JSON qw(decode_json);

# Receives a json object from an AJAX request and
# sends the necessary information back to be
# displayed in a table.
sub list_ajax_catch {
my $self = shift;

my $json = $self->param('data');
my $input = decode_json $json;

$self->render(
json => {
"Object A" => {
"name" => "Object A's Name",
"description" => "A Description for Object A",
"height" => "10",
"width" => "5",
}
}
);
}

1;

问题不仅限于此实例。似乎任何时候服务器上有很多处理,浏览器都有重置的麻烦。什么浏览器并不重要,我已经尝试过 Chrome、IE、Firefox 和其他浏览器(在多台计算机上)。如果我什至不从 html 到应用程序来回发送或接收数据也没关系。如果我的 Web 应用程序中有任何处理量不仅仅是渲染模板,似乎就会触发它,但是如果我正在运行 Hypnotoad,一切都很好。

这个例子不需要很多处理,但它确实会导致浏览器重置,正如您所见,运行或卡住任何东西应该不会花很长时间。我以为问题是超时问题,但默认情况下,超时要到 15 秒后才会发生,所以不可能是这样。

最佳答案

我找到问题了!这对我来说已经是一个多月的问题了,我很高兴它又能正常工作了。我的问题是,当我启动 morbo 开发服务器时,我使用了以下命令:

morbo -w ~/web_dev/my_app script/my_app

-w 允许我监视目录的变化,这样我就不必在每次更改我的一些 JavaScript 文件时都重新启动应用程序。我的问题是我查看的目录还包含我的日志文件。因此,每次我访问我的网页时,日志都会更改并且服务器会重新启动。

关于ajax - Morbo 服务器只有在不断刷新后才能工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26636424/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com