Laravel에서 Ajax를 디버깅하는 방법
5247 단어 신인 프로그래머 응원PHP라라벨laravel5.5
눈치채면 version 5.5 까지 가고 있었습니다. 네, 더 먼저 있나요?
후배에게 가르친 것을 정리합니다.
타이틀에서는 Laravel 라고 써 있습니다만, 보편적인 내용도 조금 믹스하고 있습니다.
환경
・Laravel 5.5
· Google 크롬
· jQuery (아마 다른 js 라이브러리에서도 비슷한 느낌이 될까)
구현 예
app.blade.php
<!-- head 内に追記 -->
<meta name="csrf-token" content="{{ csrf_token() }}">
app.js
$.ajax({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
type : "POST",
data: {
"id" : id,
"name" : name
},
url : './doSomething' /* HogeController@doSomething に合わせる */
dataType : "json",
);
HogeController.php
namespace App\Http\Controllers;
use App\Hoge;
use App\Http\Controllers\Controller;
use Log;
class UserController extends Controller
{
public function doSomething(Request $request)
{
Log::debug($request);
}
}
디버깅 방법
Ajax에서 보낸 URI가 올바른지 알고 싶습니다.
Google Developper tool을 사용하세요.
・500번대→패스는 맞지만 php의 처리중에 에러가 발생하고 있다
・400번대→패스가 잘못되어 있다
・200→처리는 성공하고 있다右クリック→検証→Network→XHR
에서 Ajax의 전송 상황 (Request, Response 등)을 볼 수 있습니다.
네트워크 송수신에 관련된 복잡한 xml이 나옵니다만, 열심히 읽어 봅시다.
※출력되는 복잡한 xml 은 『네트워크는 왜 연결되는가』 뭔가 읽으면 이해할 수 있게 되어 옵니다.
데이터가 제대로 통과하는지 알고 싶습니다.
log.php/* 問題ないコード storage/log/laravel.log へ出力される */
Log::debug($request);
log.php/* 失敗するコード 原因は追っていない */
dd($request);
dd($request->all());
dd 라고 편리 툴은 이번 처음으로 알았습니다.
매우 편리한 기능이라고 생각합니다만, 페이지 바뀌는 것 같기 때문에 Ajax 와 궁합 나쁜 것입니까.
여러가지 시도해도 500 돌아왔습니다.
여기는 얌전하게 Laravel 표준 로거를 사용하여 .log 파일을 읽어 봅시다.
Reference
이 문제에 관하여(Laravel에서 Ajax를 디버깅하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hubtakaya/items/8a2028e3c4da97253e48
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
/* 問題ないコード storage/log/laravel.log へ出力される */
Log::debug($request);
/* 失敗するコード 原因は追っていない */
dd($request);
dd($request->all());
Reference
이 문제에 관하여(Laravel에서 Ajax를 디버깅하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hubtakaya/items/8a2028e3c4da97253e48텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)