こんにちは、Web初心者のはるまきです。Qiita初投稿!
LaravelでJavaScriptを記述する時のパスの書き方には少し注意が必要だなと思ったので、メモしておきます。単純な話ですけど
ルーターに合わせてパスを書こう!
初心者あるあるだとは思うんですが、「お手本通りやってもうごかな〜い!」。私の場合はjQueryのAjax通信が、それでした。お手本のコードはこんな感じでした。
hoge.js
$.ajax({
type: "GET",
url: "some.php", 他にも[../aaa/bbb/ccc.php]とか
}).done(function( msg ) {
alert( "データ保存: " + msg );
});
htmlでスタイルシートやjsを読み込む時のパスは、「aaa/bbb/ccc.js」のような書き方ですよね。でもphpファイルを読み込む時(?)はどうやら違うようでした。web.phpファイルにあるルートのまま記述すれば、きちんと動きました。jsファイルとルーター(web.php)。
web.php
Route::get('selectedCategoryHoge', 'hogeController@getHogeAnotherhoge');
hoge.js
$(function(){
$('#hoge').click(function dojQueryAjax() {
$.ajax({
url:'selectedCategoryHoge',
type:'GET',
}).done(function(data){
//省略
}).fail(function(data){
//省略
});
});
});
URLはルーターさんに従おう!
以上になります。何かご指摘点があれば是非よろしくお願いします!
今回、生まれて初めて、hogeってヤツを使いました。fuga,piyo,foo,barとかも使ってみたい。。
最後まで読んで頂きありがとうございました。