현재 프로젝트에 대해 메모하고 있습니다. 기술 스택은 vue.js + laravel + mongodb입니다. 우선 어젯밤 프로젝트가 끝난 후 요약을 작성하겠습니다. 전체 프로젝트에 사용된 기술들과 제가 겪은 함정들, 오늘은 프론트엔드에서 백엔드로 데이터를 전송하고 라라벨이 이를 수신하는 예를 기록하겠습니다.
프론트엔드 Ajax 플러그인으로 vue-resource를 사용하지 않았는데, 솔직히 사용시 함정이 있어서 vue-resource보다 사용하기 쉽고 크기가 작은 axios.js를 사용했습니다.
프런트 엔드 코드 보기(vue 로직 부분 생략):
axios.post('index.php/login',{ email:this.email, pass:this.pass }).then(function(res){ console.log(res) }).then(function(){ console.log(321) })
this.email 및 this.pass는 사용자가 로그인하여 이 메소드를 실행하기 위해 입력한 양식 데이터입니다. 데이터 형식이 올바른지 확인).
Laravel이 이 두 값을 어떻게 받는지 살펴보겠습니다.
다음 내용으로 앱 폴더 아래에 GUser.php 모델 파일을 만듭니다.
<?php namespace App; use Mongodb; use DB; class GUser extends Mongodb { public static function login($email) { $mongo = DB::connection('mongodb'); $res = $mongo->collection('user')->where('email',$email)->first(); return $res; } }
그런 다음 app/Http/Controllers php 파일 아래에 GUserController를 만듭니다. , 내용은 다음과 같습니다.
<?php namespace App\Http\Controllers; use App\Http\Controllers\Controller; use App\GUser; use Illuminate\Http\Request; class GUserController extends Controller{ protected function login(Request $request) { $email = $request->input('email'); $pass = $request->input('pass'); $res = GUser::login($email); return $res; } }
물론 여기서는 pass 값을 사용하지 않으며, 여기서는 로그인 인증 로직을 생략했습니다.
그런 다음 라우팅 파일 web.php에서 구성합니다.
Route::any(‘/login','GUserController@login');
관련 권장 사항:
PHP에서 AJAX로 전송되는 데이터 유형은 JSON이므로 약간 혼란스럽습니다
위 내용은 공유 예시 Laravel은 프런트엔드 Ajax로부터 데이터를 수신합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!