【#Laravel】J-QueryでPOSTしたら”Internal Server Error”
関連記事
- 難解なソースを追っかけてるけど謎多すぎで頭痛中(汗 脳血管が吹っ飛びかけらしい 【2024年06月21日(金)】
- 【#apache #PHP】apacheが立ち上がらなくなったー「アクセス許可で禁じられた方法でソケットにアクセスしようとしました」エラー発生 【2024年04月16日(火)】
- 【#Laravel #PHP】久しぶりにLaravelと格闘しておるがすっかり忘れちょる(汗 【2024年04月12日(金)】
- 【#PHP】謎な #Laravel 案件 引き渡したじ 【2024年01月11日(木)】
- 【PHP】PHPのバージョンをアップしたら,「tcpdf」フレームワークがエラー吐きまくりで,こっちまで吐きそうになった 【2024年01月10日(水)】
今日はDBとの接続作業
WEBAPI@PHPのほうは,さくっと仕上がって,JSONで狙ったとおり値が返ってきた
んじゃ,JavaScriptから,POSTで叩いてみましょう
$.ajax({ type: "post", scriptCharset: 'utf-8', dataType: 'json', url: 'hogehogeapi/hoge1' , data: { id: '10' }, timeout: 10000, success: function (res) { alert("受信OK"); }, error: function (XMLHttpRequest, textStatus, errorThrown) { alert("受信NG"); } });「受信NG」ズラ
なして??
GETではうまくいく.WEBAPI側@phpは,まだ引数受取部は実装してないぞい.GETやろうがPOSTやろうが問題無いはず
Visual Studioのデバッガで追っかけたら
>>function (XMLHttpRequest, textStatus, errorThrown)
のerrorThrownが,”Internal Server Error”って返してくる
むむむっ..
こっから格闘,あ~だこ~だ...3時間
ふと,XMLHttpRequest側の中身を確認してみたら,受信文字列がJSON形式じゃなくHTML形式になってる
ん?これ,Laravelが吐くエラー画面じゃねぇ~か(びっくりポン
このHTML形式にエラーコードが記載されてるはず...調べたら
TokenMismatchException
なエラー
早速ググったら,事例があった!
Laravel 5 でのPOSTでのルーティングがうまくいかない@stackoverflow
LaravelのPOST通信は「csrf_token」なるカラクリがデフォルトで入っていて,FORM入力部でtokenの設定が正常でないと「TokenMismatchException」エラーになるそうな
WEBAPIなんで,tokenなんか使わん!そりゃエラーで落ちる...ドロドロドロ
なんで,「csrf_token」をオフすればPOST出来るとのこと
オフの方法も記載あって
app/Http/Middleware/VerifyCsrfToken.phpの$except変数を適時書き換えろ,と
↑のやつだったら
namespace App\Http\Middleware; use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as BaseVerifier; class VerifyCsrfToken extends BaseVerifier { /** * The URIs that should be excluded from CSRF verification. * * @var array */ protected $except = [ 'hogehogeapi/*', ]; }に書き換えればOK
これで,POSTで投げられましたっす
う~む,地雷原やなぁ>Laravel
まだアチコチで爆発するはず(GRB爆
コメント
【#大相撲】 横綱 照ノ富士 引退の意向を固める
【#日向灘地震】割れ残り部が依然健在じゃし.怖いわなぁ
【#大地震】宮崎に大地震キタ━(゚∀゚)━!!(25/1/13)
【#大雪】宮崎市に降雪予報キター(25/1/11)
【#2025】あけおめ~ 2025年が始まったらしい...ドロドロドロ
2024年が終わりますなぁ 1年ありがとうございました
ついに宮崎市も氷点下気温キター(24/12/23)