- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我编辑了原来的问题,因为我改进了代码,这使我能够更好地定义更好的错误
您好,我正在创建一个链接选择框,一旦选择了客户,就会找到客户项目。
ajax 正在执行其工作,它知道已选择哪个客户端,并且我的控制台告诉我以下内容:
无法加载资源:服务器响应状态为 500(内部服务器错误)http://itempus.dev/task/clientsprojects?option=5
上面的选项值是指我想要传递到项目数据库并查找客户端项目的客户端 ID。我不确定我做错了什么,并且希望为新手提供一些帮助来完成有些复杂的任务。
public function create()
{
$tasks = Auth::user()->tasks;
$client_options = DB::table('clients')->orderBy('client_name', 'asc')->lists('client_name','id');
$team_options = DB::table('teams')->orderBy('team_member_name', 'asc')->lists('team_member_name','id', 'team_member_category');
return View::make('tasks.create', array('project_options' => $project_options, 'team_options' => $team_options, 'client_options' => $client_options));
}
public function clientsprojects() {
$input = Input::get('option');
$client_id = Project::find($input);
$projects = DB::table('projects')->where('client_id', $client_id->id)
->orderBy('project_name')
->lists('id','project_name');
$models = $project->projects();
return Response::eloquent($models->get(array('id','project_name')));
}
{{ Form::open(array('action' => 'TaskController@store', 'id' => 'createuser')) }}
<div class="form-group">
@if(count($client_options)>0)
{{ Form::label('select_client', 'Assign to Client', array('class' => 'awesome client_option')); }}
{{ Form::select('client', $client_options , Input::old('client'), array('class' => 'tempus_select client_option', 'id' => 'select_client')) }}
@endif
</div>
<div class="form-group deletegates">
{{ Form::label('select_client', 'Assign to Project', array('class' => 'awesome')); }}
{{ Form::select('project', array_merge(array('default' => 'Please Select')), 'default', array('class' => 'tempus_select', 'id' => 'project_select')) }}
</div>
{{ Form::submit('Create the task!', array('class' => 'btn btn-primary')) }}
{{ Form::close() }}
<script>
$(document).ready(function($){
$('#select_client').change(function(){
$.get("{{ url('task/clientsprojects')}}",
{ option: $(this).val() },
function(data) {
var model = $('#project_select');
model.empty();
$.each(data, function(index, element) {
model.append("<option value='"+ element.id +"'>" + element.name + "</option>");
});
});
});
});
</script>
路线.php
我也这样定义了我的路线:
Route::get('task/clientsprojects', function(){
$input = Input::get('option');
$client_id = Project::find($input);
$projects = DB::table('projects')->where('client_id', $client_id->id)
->orderBy('project_name')
->lists('id','project_name');
$models = $project->projects();
return Response::eloquent($models->get(array('id','project_name')));
});
jquery console errorGET http://itempus.dev/task/clientsprojects?option=7 500 (Internal Server Error) jquery.js:8475
send jquery.js:8475
st.extend.ajax jquery.js:7930
st.(anonymous function) jquery.js:7569
(anonymous function) create:210
st.event.dispatch jquery.js:3045
y.handle jquery.js:2721
应用程序/存储/日志
[2014-03-12 17:01:00] log.ERROR: exception 'Symfony\Component\HttpKernel\Exception\NotFoundHttpException' in C:\xampp\htdocs\iTempus\vendor\laravel\framework\src\Illuminate\Routing\Router.php:1429
Stack trace:
#0 C:\xampp\htdocs\iTempus\vendor\laravel\framework\src\Illuminate\Routing\Router.php(1050): Illuminate\Routing\Router->handleRoutingException(Object(Symfony\Component\Routing\Exception\ResourceNotFoundException))
#1 C:\xampp\htdocs\iTempus\vendor\laravel\framework\src\Illuminate\Routing\Router.php(1014): Illuminate\Routing\Router->findRoute(Object(Illuminate\Http\Request))
#2 C:\xampp\htdocs\iTempus\vendor\laravel\framework\src\Illuminate\Foundation\Application.php(574): Illuminate\Routing\Router->dispatch(Object(Illuminate\Http\Request))
#3 C:\xampp\htdocs\iTempus\vendor\laravel\framework\src\Illuminate\Foundation\Application.php(550): Illuminate\Foundation\Application->dispatch(Object(Illuminate\Http\Request))
#4 C:\xampp\htdocs\iTempus\public\index.php(49): Illuminate\Foundation\Application->run()
#5 {main} [] []
[2014-03-12 17:01:00] log.ERROR: exception 'Symfony\Component\HttpKernel\Exception\NotFoundHttpException' in C:\xampp\htdocs\iTempus\vendor\laravel\framework\src\Illuminate\Routing\Router.php:1429
Stack trace:
#0 C:\xampp\htdocs\iTempus\vendor\laravel\framework\src\Illuminate\Routing\Router.php(1050): Illuminate\Routing\Router->handleRoutingException(Object(Symfony\Component\Routing\Exception\ResourceNotFoundException))
#1 C:\xampp\htdocs\iTempus\vendor\laravel\framework\src\Illuminate\Routing\Router.php(1014): Illuminate\Routing\Router->findRoute(Object(Illuminate\Http\Request))
#2 C:\xampp\htdocs\iTempus\vendor\laravel\framework\src\Illuminate\Foundation\Application.php(574): Illuminate\Routing\Router->dispatch(Object(Illuminate\Http\Request))
#3 C:\xampp\htdocs\iTempus\vendor\laravel\framework\src\Illuminate\Foundation\Application.php(550): Illuminate\Foundation\Application->dispatch(Object(Illuminate\Http\Request))
#4 C:\xampp\htdocs\iTempus\public\index.php(49): Illuminate\Foundation\Application->run()
#5 {main} [] []
修改了代码,仍然是同样的错误。
TaskController.php
public function create()
{
$tasks = Auth::user()->tasks;
$client_options = DB::table('clients')->orderBy('client_name', 'asc')->lists('client_name','id');
$project_options = DB::table('projects')->orderBy('project_name', 'asc')->lists('project_name','id');
$team_options = DB::table('teams')->orderBy('team_member_name', 'asc')->lists('team_member_name','id', 'team_member_category');
return View::make('tasks.create', array('project_options' => $project_options, 'team_options' => $team_options, 'client_options' => $client_options));
}
路由.php
Route::get('task/clientsprojects', function(){
$input = Input::get('option');
$client = Client::find($input);
$projects = DB::table('projects')->where('client_id', $client->id)
->orderBy('project_name')
->lists('id','project_name');
$response = array(array());
$i = 0;
foreach($projects as $project){
$response[$i]['id'] = $project->id;
$response[$i]['name'] = $project->name;
$i++;
}
return json_encode($response);
});
创建.blade.php
{{ Form::open(array('action' => 'TaskController@store', 'id' => 'createuser')) }}
<div class="form-group">
@if(count($client_options)>0)
{{ Form::label('select_client', 'Assign to Client', array('class' => 'awesome client_option')); }}
{{ Form::select('client', $client_options , Input::old('client'), array('class' => 'tempus_select client_option', 'id' => 'select_client')) }}
@endif
</div>
<div class="form-group deletegates">
{{ Form::label('project_select', 'Assign to Project', array('class' => 'awesome')); }}
{{ Form::select('project', array_merge(array('default' => 'Please Select')), 'default', array('class' => 'tempus_select', 'id' => 'project_select')) }}
</div>
{{ Form::submit('Create the task!', array('class' => 'btn btn-primary')) }}
{{ Form::close() }}
<script>
$(document).ready(function($){
$('#select_client').change(function(){
$.get("{{ url('task/clientsprojects')}}",{
option: $(this).val()
}, function(data) {
var model = $('#project_select');
model.empty();
$.each(data, function() {
model.append('' + data.name + '');
});
}, 'json');
});
});
</script>
最佳答案
如果您的日志中仍然存在这些错误:
[2014-03-12 17:01:00] log.ERROR: exception 'Symfony\Component\HttpKernel\Exception\NotFoundHttpException' in C:\xampp\htdocs\iTempus\vendor\laravel\framework\src\Illuminate\Routing\Router.php:1429
这是 Laravel 的说法“我无法找到具有这些特性的路线”。
您的问题可能更简单:您的 JavaScript 无法打开该路由,因为 URL 的格式可能不正确。
$.get("{{ url('task/clientsprojects')}}", ...
1) 打开 HTML
2) 从上面的行获取生成的 URL 可能类似于:
http://itempus.dev/task/clientsprojects?option=7
或者只是
http://itempus.dev/task/clientsprojects
3) 在 Chrome 上,按 F12 打开开发工具
4) 使用此 URL 构建如下所示的命令,然后粘贴开发工具命令行(然后按 Enter 键):
$.get('http://itempus.dev/task/clientsprojects');
5)检查错误并尝试
$.get('http://itempus.dev/');
您应该获得一些数据,有时很多,但没有错误。在 JavaScript 中处理数据甚至可能是错误的,但此时您不应该出现错误。
6) 获取相同的 URL 并尝试将其粘贴到浏览器地址栏中,然后检查是否没有收到错误
如果你没有收到错误,你的路由是好的,否则你将不得不再次检查你的routes.php
文件,那里的东西不会让javascript(甚至你通过浏览器URL)命中你的路线。
另一种可能性是 Controller 内部发生异常,但通过手动点击该路由,您也应该能够看到它。但是,如果您仍然遇到这些 NotFoundHttpException 错误,则可能是路由问题。
为了确保这些错误是相关的。执行:
php artisan tail
并检查错误是否在 javascript 命中该路由的同一时间发生。
编辑 1
从评论中尝试获取非对象的属性
是你真正的错误。您可能正在从表中选择一些记录,并且至少其中一条没有作为对象返回,可能为 null。
编辑2
“尝试获取非对象的属性”意味着您正在尝试将不是对象的变量作为对象进行访问。此行导致错误:
$response[$i]['id'] = $project->id;
将查询更改为
$projects = Project::where('client_id', $client->id)
->orderBy('project_name')
->get(array('id','project_name'));
应该有助于使其发挥作用。
编辑3
总结:
这应该作为您的路线:
Route::get('task/clientsprojects', function(){
$input = Input::get('option');
$client = Client::find($input);
$projects = DB::table('projects')->where('client_id', $client->id)
->orderBy('project_name')
->lists('id','project_name');
$response = array();
foreach($projects as $project){
$response[$project->id] = $project->name;
}
return Response::json($response);
});
还有这个 JavaScript:
<script>
$(document).ready(function($){
$('#select_client').change(function(){
$.get("{{ url('task/clientsprojects') }}", { option: $(this).val() }, function(data) {
$.each(data, function(key, value) {
$('#project_select').append("<option value='"+key+"'>"+value+"</option>'");
});
});
});
});
</script>
关于php - Laravel Chained Select 无法加载资源 : the server responded with a status of 500,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22256066/
为什么下面的工作: from itertools import chain 但下面的不是吗? import itertools.chain as chain 最佳答案 import foo.bar 语
1、逻辑流 在屏幕开发中,存在如下逻辑流: PBO(Process Before Output):屏幕输出之前触发 PAI(Process After Input):用户在屏幕中执
我正在尝试链接一系列任务,返回一个 promise ,在链的最后执行并行执行。下面的代码不起作用,我认为你可以传递任何在“then”内返回 promise 的对象。有没有适当的方法来实现这一点。谢谢。
您能否对 itertools 中的 chain() 和 chain.from_iterable 这两个方法给出更简单的解释? 我搜索了知识库和 python 文档,但我很困惑。 我是 python 新
问题的简短版本 我就是否使用 ./*this 与 ->/this 寻求建议,即 C++ (*this).chained().methods() 与 this->chained()->methods()
itertools 中所有有趣的迭代器让我着迷,但我的一个困惑是这两个函数之间的区别以及为什么存在 chain.from_iterable。 from itertools import chain d
Swift 中的“可选链接”和“可选调用链接”之间有语义差异吗? 最佳答案 我暂时会回答“否”,没有语义差异。 “Optional Chaining”在“Swift 编程语言(Swift 2 Prer
我有一个服务器和一个客户端。我让他们都在同一台机器上运行。我正在尝试在客户端和服务器之间建立 SSL 连接。我已经使用以下 keytool 命令为服务器和客户端生成了证书。 对于客户keytool -
我有一些数据要从带有 lodash 的 json 数组中拒绝。我需要拒绝不需要的多个键值。 我在想我可以链接映射并再次使用 reject 函数,或者可能为 reject 方法编写一个谓词函数以供使用。
我真的什么都试过了。令人惊讶的是,谷歌对此没有太多答案。 当某个 .csv 文件上传到 S3 存储桶时,我想解析它并将数据放入 RDS 数据库。 我的目标是学习 lambda serverless 技
我最近一直在研究区 block 链,并偶然发现了以太坊和 chain.com 这两个平台似乎都有助于开发和部署区 block 链应用程序,其中 chain.com 专门针对金融公司。 尽管如此,两者之
asyncFunction1 .then(asyncFunction2, errorHandlerFunction) .then(Function3, errorHandlerFunc
已结束。此问题正在寻求书籍、工具、软件库等的推荐。它不满足Stack Overflow guidelines 。目前不接受答案。 我们不允许提出寻求书籍、工具、软件库等推荐的问题。您可以编辑问题,以便
我得到 RqlRuntimeError: Expected type TABLE_SLICE but found SELECTION: 链接 getAll 和 between 方法时出现错误。 r.d
我对 jquery ui 很陌生,但由于我的项目的性质,我有点陷入了困境!基本上我需要帮助的是,我有一个文件,该文件将某些自定义设置应用于 jquery ui 可拖动小部件,并且我想进一步自定义以启用
我有一个函数应该一个接一个地运行,例如: function cutTomatoesAlone(Kg){ // slice my stuff } function cookTomatoes(Mi
Android 新手,我想制作一些流畅的动画。 我在设备上有一个包含效果的文件,每个效果都是一个动画。该文件告诉我何时播放效果以及效果持续时间。 问题是我不能动态链接 animatorSet : An
我有一个 Action,叫做 ShowData从数据库中恢复数据并将其放入 jsp。 struts.xml ... foo.jsp ... 在 foo.jsp 页面中,我有一个表单和我使用
我正在尝试使用三元运算符编写类似这样的东西(由于 jsx 语法限制而需要) if(!this.state.msg) { if(this.state.ask.length != 0) {
这段代码有区别吗? var query = DbContext.Customers .Where() .Include("Address
我是一名优秀的程序员,十分优秀!