- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我偶然发现了一个相当奇怪的问题。 return view('myview', $data);
适用于除了一组唯一的路由参数之外的所有内容。例如,如果我调用:
http://example.com/category/692/626/0
View 按预期返回。但是,如果我打电话:
http://example.com/category/692/528/0
我收到以下消息:
This page isn’t working
example.com didn’t send any data.
ERR_EMPTY_RESPONSE
如果我然后在 Controller 末尾回显 View :
echo view('myview', $data);
一切都按预期进行。
在检查 nginx error.log 时,我发现发生这种情况时正在写入以下行:
2017/11/03 13:12:03 [alert] 498#0: *94 header already sent while sending response to client, client: 0.0.0.0, server: example.com, request: "GET /category/692/528/0 HTTP/1.1", subrequest: "/inc/footer.htm", host: "example.com"
只有当我尝试从 Controller 返回一组特定参数的 View 时,我才感到困惑,这怎么可能发生。如果此错误一直发生会更有意义。
我开始通过删除返回的记录来调试这个问题,删除一个特定的记录解决了这个问题,但是这条记录和任何其他返回的记录之间似乎没有任何区别(检查隐藏字符,没有与众不同)。
过去有人遇到过这个问题吗?有谁知道可能导致这种情况的原因吗?
编辑
根据要求编写以下代码。它相当基础,只需获取数据、呈现 View 并返回它。
/* ROUTE in web.php
------------------------------------------------------*/
Route::get('/category/{category}/{subcategory}/{subsubcategory}', 'SearchController@category_search');
/* CONTROLLER FUNCTION
------------------------------------------------------*/
public function category_search($category_id, $subcategory_id, $subsubcategory_id, Request $request){
// search_users() obtains resultset of users based on parameters passed.
$users = $this->search_users($category_id, '', '', '');
$data = array(
'users' => $users
);
// Data is obtained successfully and everything working as expected at this point
// echo '<pre>';
// echo var_export($data, true);
// echo '</pre>';
// die;
//echo view('search/categories', $data); <-- This works
return view('search/categories', $data); // <-- This does not
}
最佳答案
我已经设法纠正了这个问题,但我完全不相信这是一个可靠的解决方案。我什至不确定它是如何解决这个问题的。如果其他人知道为什么会这样,请告诉我。
在 .blade 文件中显示成员的原始循环如下:
@if(count($members) > 0)
@php $count = 0; @endphp
@foreach($members as $member)
@php $count++; @endphp
<div class="well {{($count % 2 == 0) ? 'results-well-even' : 'results-well-odd'}}">
<a href="/members/{{$member->id}}">{{$member->name}}</a>
<br/>
<span class="hometown">
{{$member->city}}, {{$member->state}}
</span>
<br/>
@if((property_exists($member, "distance")))
<span class="distance">
Distance: {{$member->distance}} miles
</span>
@endif
</div>
@endforeach
@else
@endif
修改后的循环如下:
@if(count($members) > 0)
@php $count = 0; @endphp
@foreach($members as $member)
@php $count++; @endphp
<!-- LINE BREAK ADDED HERE -->
<div class="well {{($count % 2 == 0) ? 'results-well-even' : 'results-well-odd'}}">
<a href="/members/{{$member->id}}">{{$member->name}}</a>
<br/>
<span class="hometown">
{{$member->city}}, {{$member->state}}
</span>
<br/>
@if((property_exists($member, "distance")))
<span class="distance">
Distance: {{$member->distance}} miles
</span>
@endif
</div>
@endforeach
@else
@endif
从字面上看,唯一改变的是换行符。我对此感到困惑。有谁知道为什么这解决了这个问题,因为如果是这样,您应该得到答案!
关于php - Laravel 返回 View 不发送数据,但回显 View 有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47096803/
我在 JavaScript 文件中运行 PHP,例如...... var = '';). 我需要使用 JavaScript 来扫描字符串中的 PHP 定界符(打开和关闭 PHP 的 )。 我已经知道使
我希望能够做这样的事情: php --determine-oldest-supported-php-version test.php 并得到这个输出: 7.2 也就是说,php 二进制检查 test.
我正在开发一个目前不使用任何框架的大型 php 站点。我的大问题是,随着时间的推移慢慢尝试将框架融入应用程序是否可取,例如在创建的新部件和更新的旧部件中? 比如所有的页面都是直接通过url服务的,有几
下面是我的源代码,我想在同一页面顶部的另一个 php 脚本中使用位于底部 php 脚本的变量 $r1。我需要一个简单的解决方案来解决这个问题。我想在代码中存在的更新查询中使用该变量。 $name)
我正在制作一个网站,根据不同的情况进行大量 PHP 重定向。就像这样...... header("Location: somesite.com/redirectedpage.php"); 为了安全起见
我有一个旧网站,我的 php 标签从 因为短标签已经显示出安全问题,并且在未来的版本中将不被支持。 关于php - 如何避免在 php 文件中写入
我有一个用 PHP 编写的配置文件,如下所示, 所以我想用PHP开发一个接口(interface),它可以编辑文件值,如$WEBPATH , $ACCOUNTPATH和 const值(value)观
我试图制作一个登录页面来学习基本的PHP,首先我希望我的独立PHP文件存储HTML文件的输入(带有表单),但是当我按下按钮时(触发POST到PHP脚本) )我一直收到令人不愉快的错误。 我已经搜索了S
我正在寻找一种让 PHP 以一种形式打印任意数组的方法,我可以将该数组作为赋值包含在我的(测试)代码中。 print_r 产生例如: Array ( [0] => qsr-part:1285 [1]
这个问题已经有答案了: 已关闭11 年前。 Possible Duplicate: What is the max key size for an array in PHP? 正如标题所说,我想知道
我正在寻找一种让 PHP 以一种形式打印任意数组的方法,我可以将该数组作为赋值包含在我的(测试)代码中。 print_r 产生例如: Array ( [0] => qsr-part:1285 [1]
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 9 年前。 Improve this ques
我在 MySQL 数据库中有一个表,其中存储餐厅在每个工作日和时段提供的菜单。 表结构如下: i_type i_name i_cost i_day i_start i_
我有两页。 test1.php 和 test2.php。 我想做的就是在 test1.php 上点击提交,并将 test2.php 显示在 div 中。这实际上工作正常,但我需要向 test2.php
我得到了这个代码。我想通过textarea更新mysql。我在textarea中回显我的MySQL,但我不知道如何更新它,我应该把所有东西都放进去吗,因为_GET模式没有给我任何东西,我也尝试_GET
首先,我是 php 的新手,所以我仍在努力学习。我在 Wordpress 上创建了一个表单,我想将值插入一个表(data_test 表,我已经管理了),然后从 data_test 表中获取所有列(id
我有以下函数可以清理用户或网址的输入: function SanitizeString($var) { $var=stripslashes($var); $va
我有一个 html 页面,它使用 php 文件查询数据库,然后让用户登录,否则拒绝访问。我遇到的问题是它只是重定向到 php 文件的 url,并且从不对发生的事情提供反馈。这是我第一次使用 html、
我有一个页面充满了指向 pdf 的链接,我想跟踪哪些链接被单击。我以为我可以做如下的事情,但遇到了问题: query($sql); if($result){
我正在使用 从外部文本文件加载 HTML/PHP 代码 $f = fopen($filename, "r"); while ($line = fgets($f, 4096)) { print $l
我是一名优秀的程序员,十分优秀!