感谢您对此主题感兴趣。我是 Laravel 的新手,我有一个小问题。也许这很容易! 我的Laravel中有一个SSH模块可以这样工作: 用户使用Linux命令填充textarea元素。 该命令与Ajax一起传递给位于'controllers'文件夹中的名为getExecute()的方法 我想这个方法返回我的SSH服务器的完整响应,但这不会发生。该方法返回的唯一内容是空格。
例如:我传递命令'ls -la',我的响应是Linux找到的所有文件夹,就像在终端上一样。 有谁可以帮助我吗? 这是我的代码:
public function getExecute()
{
if(\Request::ajax()):
$ssh_command = \Input::get('ssh_command');
$ssh_response = null;
\SSH::run($ssh_command, function($line)
{
return $line.PHP_EOL;
});
endif;
}
OBS:Ajax连接已经过测试,没关系! 谢谢!
答案 0 :(得分:1)
终于解决了!解决方案如下:
首先,我在班上创建了一个名为$ output的变量。
private $output;
然后我修改了我的方法:
public function postExecute()
{
$ssh_command = \Input::get('ssh_command');
$ssh_response = \SSH::run($ssh_command, function($line)
{
$this->output = $line.PHP_EOL;
});
return $this->output;
}
我的方法不是更多Ajax ,但我希望我所要做的就是像以前一样回滚到我的ajax方法。谢谢所有人!