私は本当にLaravelのAJAXリクエスト/レスポンスに悩まされています。誰かが私を助けることができたら嬉しいです。AJAXでデータをLaravelのControllerに渡すには?
は、これは私のJSのAjaxです:
$('#manufacturer_id').change(function(){
var manuf_id = $(this).val();
console.log("1:"+manuf_id);
var dataString = '{manufacturer_id:'+ manuf_id+'}';
console.log("2:"+dataString);
// Ajax
$.ajax({
url: "/laravel/public/posts/create",
type: 'GET',
data: dataString,
cache: false,
success: function(data) {
console.log(dataString);
},
});
});
そして、これは私がちょうど1つのIDに変更する必要がPostsControllerの、次のとおりです。私は本当に達成したい何
public function create(Request $manuf_id)
{
$title = 'Add post';
$categories = Category::all();
$manufacturers = Manufacturer::all();
$fuels = Fuel::all();
$sendedID = \Response::json($manuf_id);
$cars = Car::where('manufacturer_id', $sendedID)->get();
return view('posts.create',
compact(
'title',
'categories',
'fuels',
'cars',
'manufacturers'
)
);
}
を:私のフォームの選択ボックスからユーザーがメーカーを選択すると、製造元のIDはここに書かれたIDを変更します:
$cars = Car::where('manufacturer_id', $sendedID)->get();
基本的に変数$ sendedIDの代わりに番号(ID)をハードコードすると、私は必要なものすべてを手に入れます(私のデータベースのテーブル間にはすでに関連性があります)。
私がする必要があるのは、製造元の値(onchange)を送信し、それをPostsControllerの変数$ sendedIDに渡すことだけです。私はおそらく私のPostControllerのコードを変更する必要があります、ちょうど私が既に多くを研究したが、答えを見つけることができませんでした。これを修理する方法を知っている人に感謝します。
ありがとうございますが、これは私のためには機能しません。私が成功関数でalert(data)を使うと、現在のページの完全なHTMLコードが得られます。これは単にmanufacturer_idの整数を持つ文字列ではありません。 車種のドロップダウンはmanufacturer_idによって変更されません。 – MadMatt
もちろん、作成メソッドが返すものなので、完全なhtmlが得られます。 –
はい、しかしそのデータをユーザーのページに表示する方法はありますか?私はここで少し混乱しています。なぜなら、AjaxとLaravelを一緒に使って作業することは、まだ私の新しい分野ですから。 – MadMatt