【#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爆
コメント
宮崎ー台湾 国際定期便が週2往復に増便へ 来月30日から(25/2/15)
『にっぽん縦断 こころ旅』4月から田中美佐子が新たな旅人に 火野正平さんが14年間担当
オリックス・バファローズのキャンプ見学に行ってきた,昨日(爆(25/2/9)
【大雪】9日も降り続く見込み 交通影響に警戒 雪崩など注意を(25/2/9)
日産、ホンダとの統合合意撤回へ(25/2/5)
【特殊詐欺:トクリュウ】+1-844-173-3313から電話キター 特殊詐欺だぁ~~これはアカンヤツ
備蓄米放出へ準備、流通不足で初 政府、買い戻し条件に売り出し