что-то не так с моим следующим кодом? caz всегда показывает: 500 (Internal Server Error) Я не знаю, почему и надеюсь, что кто-то может помочь, спасибо …
Я искал день, но без какого-либо решения. Я что-то упускаю? И я использую ионный, чтобы сделать мобильное приложение.
// контроллер
public function touristsData(){//get $postdata = file_get_contents("php://input"); $request = json_decode($postdata,true); $location = $request['location']; if(empty($location) != true){ $tourists = User::where('block','0') ->where('location', $location) ->orderBy('updated_at', 'desc') ->get(); }else{ $tourists = User::where('block','0') ->orderBy('updated_at', 'desc') ->get(); } return View::make('frontend.data.touristsData',array('tourists'=>$tourists)); }
//app.js(angularjs)
$scope.submitForm = function(){ if($scope.filter.want == 'company'){ $http({ method : 'POST', url : './touristsData', beforeSend: function (xhr) { var token = document.getElementById('token').getAttribute('content'); if (token) { return xhr.setRequestHeader('X-CSRF-TOKEN', token); } }, data : { 'location': $scope.filter.location }, headers : {'Content-Type': 'application/x-www-form-urlencoded'} }) .success(function(data){ $scope.tourists = data; }); $scope.modal.hide(); } }
Большое спасибо!
Какую версию Laravel вы используете? Если вы включите отладку, то каково сообщение, данное для ошибки 500?
Я предполагаю, что индекс «location» вашей переменной запроса не задан. Laravel обеспечивает гораздо лучший способ получения ввода запроса , который уже учитывает индексы, которые могут быть установлены или не установлены, поэтому вы должны использовать это.
В любом случае, если вы на Laravel 5+, сделайте это в своем контроллере:
public function touristsData() { $query = User::where('block','0'); if (request()->has('location')) { $query->where('location', request('location')); } $tourists = $query->orderBy('updated_at', 'desc')->get(); return view('frontend.data.touristsData', compact('tourists')); }
И то же самое, но для Laravel 4.2:
public function touristsData() { $query = User::where('block','0'); if (Input::has('location')) { $query->where('location', Input::get('location')); } $tourists = $query->orderBy('updated_at', 'desc')->get(); return View::make('frontend.data.touristsData', compact('tourists')); }