Laravel NetworkError:500内部服务器错误 - http://laravel.dev/c

时间:2014-07-18 00:00:14

标签: laravel laravel-4

嗨,大家好我现在正在尝试laravel我正在做的是当用户使用他们的用户名键入文本框时,如果他/她已经注册,则上面的div将加载基于用户的图像在我的数据库,但这没有发生,而是它给了我一个错误 这是firebug发现的错误 enter image description here

任何想法如何?我尝试了谷歌上发现的几件事,但没有解决我的问题 这就是我所拥有的

来自login.blade.php(ajax只是因为它是唯一一个引起条件的人)

       $('#email').typing({

    start: function () {

},
    stop: function () {
        var email = $('#email').val(); 
        $.get('c',function(data){
         console.log(data);
    $('#ico-pro').html('<img src="temp/users/'+ us +'.jpg" width=75 height=75>');

  });
}
});

从路线

Route::get('/c','HomeController@login_c');

来自HomeController.php

    public function login_c()
    {
  if(Request::ajax()){
    $email = Response::json(Input::get('us'));

        $users = User::where('username','=',$email)->get();
        foreach ($users as $val):
            $firstname = $val['firstname'];
        endforeach;
    return Response::json(array('us' => $firstname));
  }

3 个答案:

答案 0 :(得分:1)

那是因为你的变量$firstnameundefined,但也许你在想自己

  

为什么$ firstname未定义,如果它在foreach循环中定义?

这是因为$firstname仅在foreach's scope内可用。

也许您想阅读this

但也想一想,如果$users没有返回任何内容怎么办?然后永远不会定义$firstname,因为undefined变量会导致错误。

答案 1 :(得分:0)

试试这个(已编辑);

$users = User::where('username','=',$email)->get();
$new_array = array();
foreach($users as $val) {
   $new_array[] = $val->first_name;
}
echo json_encode(array('us'=>$new_array));

答案 2 :(得分:0)

这会有用吗?

$email = Response::json(Input::get('us'));
$user = User::where('username','=',$email)->first();
return Response::json(array('us' => $user->firstname));