Php 通过单击laravel 5上的链接发布ajax数据

Php 通过单击laravel 5上的链接发布ajax数据,php,jquery,html,ajax,laravel-5,Php,Jquery,Html,Ajax,Laravel 5,我是ajax和laravel 5的新手 当我点击一个链接时,我在传递数据方面遇到了一些问题,我将向你解释我想要实现的目标 这里是我的html代码: 最后这是我的路线: 因为你在发帖子,我想你需要一个代币 在这里,您可以阅读相关文档 总结您需要: // insert a meta tag to generate a tocken <meta name="csrf-token" content="{{ csrf_token() }}"> // use the tocken in t

我是ajax和laravel 5的新手

当我点击一个链接时,我在传递数据方面遇到了一些问题,我将向你解释我想要实现的目标

这里是我的html代码:

最后这是我的路线:


因为你在发帖子,我想你需要一个代币

在这里,您可以阅读相关文档

总结您需要:

// insert a meta tag to generate a tocken
<meta name="csrf-token" content="{{ csrf_token() }}">

// use the tocken in the header http request
$.ajaxSetup({
    headers: {
        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
    }
});

请注意,blade的语法
{category}
是错误的,如果您有一个变量,它应该类似于
{{$category}
,如果它只是一个字符串,它应该类似于
{$category}

这里有很多错误。您正在使用post,但实际上并没有创建新的资源项。其次,你的warung_-plain函数没有返回任何东西?你应该对这条路线做一次尝试

/ambil_kategori/{category}
此外,在你的JS中,你没有根据正确的url发帖。您应该发布到(如果出于某种原因,您希望这样做):


建议您重新阅读L5文档

您还没有解释问题所在?您是否看到异常或它不工作?它不工作,可能我在laravel 5中使用路由时出错,但我不知道为什么在单击链接后div id=“warung plain”仍然为空。确定,因此您需要检查您的控制台(F12)和laravel日志,以查看发生了什么情况。它显示“POST 404(未找到)”,是的,我知道这是错误的,但我不知道在laravel中填充ajax url的正确方法-如果我使用laravel 5路由,我不知道在ajax中编写正确url的正确方法
public function index()
{   
    $Warungs_all = Warung::paginate(10);
    $kategoriwarung_all = kategoriwarung::all();


    return view('index' , compact('kategoriwarung_all' , 'Warungs_all' ));
}


public function get_warung_by_category($category){

    $category_fix = $category;
    $kategoriwarung_all = kategoriwarung::all();

    foreach($kategoriwarung_all as $kategoriwarung){
        $kategoriwarung->nama;
        $kategoriwarung->id;
        $warung_has_kategoriwarungs[$kategoriwarung->nama] = warung_has_kategoriwarung::where('kategoriwarung_id' , '=' , $kategoriwarung->id)->with(['Warung','kategoriwarung'])->paginate(10);
    }

    return view('daftar_warung' , compact('warung_has_kategoriwarungs' ,'category_fix'));
}

public function warung_plain($category , IndexController $objek){
    $objek->get_warung_by_category($category);
}
Route::get('/', 'IndexController@index');
Route::post('/ambil_kategori/{category}',    'IndexController@get_warung_by_category');
Route::get('/warung_plain/{category}', 'IndexController@warung_plain');
// insert a meta tag to generate a tocken
<meta name="csrf-token" content="{{ csrf_token() }}">

// use the tocken in the header http request
$.ajaxSetup({
    headers: {
        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
    }
});
jQuery.ajaxSetup({
    headers: {
        'X-CSRF-TOKEN': {{ csrf_token() }}
    }
}).ajax({
    type: "POST",
    //after passing data category then system will append 
    //html code to id="warung-plain"
    url: "/ambil_kategori/{category}",
    data: {category: category},
    success: function(res) {
        $('#warung-plain').load("/warung_plain/{category}");
    }
});
/ambil_kategori/{category}
'/ambil_kategori/'+category