Ajax 此路由不支持POST方法。支持的方法:GET,HEAD。”;
在没有表单的情况下,如何在laravel中通过ajax中的路由 我有一个没有表格的Ajax 此路由不支持POST方法。支持的方法:GET,HEAD。”;,ajax,laravel,Ajax,Laravel,在没有表单的情况下,如何在laravel中通过ajax中的路由 我有一个没有表格的链接或路线 <div class="row" id="markets"> @foreach($markets as $market) <div class="col-lg-3"> <div class="card"> &l
链接
或路线
<div class="row" id="markets">
@foreach($markets as $market)
<div class="col-lg-3">
<div class="card">
<img src="{{ asset('images/markets/'.$market->image) }}" class="card-img-top">
<div class="card-body">
<h5 class="card-title">{{ $market->title }}</h5>
<p class="card-text">{{ Str::words($market->body, 10) }}</p>
<p class="card-text">{{ $market->price }} $</p>
<a href="{{ route('cart', $market->id) }}" class="card-text add-to-cart">Add to cart</a>
<a href="{{ $market->path() }}" class="btn btn-primary">Continue</a>
</div>
</div>
</div>
@endforeach
</div>
@foreach($markets作为$market)
图像)}}“class=“card img top”>
{{$market->title}
{{Str::words($market->body,10)}
{{{$market->price}$
@endforeach
我想用ajax来实现它
<a role="button" class="card-text add-to-cart">Add to cart</a>
<script>
$(document).ready(function(){
$('.add-to-cart').on('click', function(event){
event.preventDefault();
var Route = $(this).attr('href');
$.ajax({
url: '{{ route("cart", $market->id) }}',
});
});
});
</script>
我的目标是创建网页。尝试在web.php中进行更改
Route::get('/cart/{market}',"MarketController@cart")->name('cart');
到
似乎您在同一路线上同时使用了get
和post
,如果是这样,则可能就是这样
编辑:
试试这个
$('#markets').load('{{ route('cart') }} #markets')
上述功能的作用是加载购物车路线的市场id,并替换当前路线市场id
此外,我认为最好添加
<div id="markets">
<div class="row">
@foreach($markets as $market)
<div class="col-lg-3">
<div class="card">
<img src="{{ asset('images/markets/'.$market->image) }}" class="card-img-top">
<div class="card-body">
<h5 class="card-title">{{ $market->title }}</h5>
<p class="card-text">{{ Str::words($market->body, 10) }}</p>
<p class="card-text">{{ $market->price }} $</p>
<a href="{{ route('cart', $market->id) }}" class="card-text add-to-cart">Add to cart</a>
<a href="{{ $market->path() }}" class="btn btn-primary">Continue</a>
</div>
</div>
</div>
@endforeach
</div>
</div>
@foreach($markets作为$market)
图像)}}“class=“card img top”>
{{$market->title}
{{Str::words($market->body,10)}
{{{$market->price}$
@endforeach
ie要在要替换的div之外创建一个div,这样类就不会混合,因为for循环将只在服务器端加载,所以要加载的是循环数据只需将路由route::get…
更改为route::post…
即可与表单一起使用(post方法)然后将Route::post…
更改为Route::get…
我没有表格,我有链接你能添加你的路由文件吗?url:“{route(“cart”,['id'=>$market->id])}”,可能是solutionweb.php,没错。但是我的篮子没有改变任何数字。你是不是只是像if($request->ajax()){return“ajax”}那样对ajex使用if条件,我正在使用它。如果你想使用ajex,那么在函数开始时使用它会更好,然后函数可以区分他想做一些ajex工作并运行里面的代码,如果或者它将运行get route的代码,但是如果你想使用api类型,那么我更希望你制作一个api控制器并在routes中使用api.php
因此,您的url将只在末尾添加api/carts/id
,这是一回事,另一件事是..当用户单击“添加到购物车”而不重新加载时,是否要更改购物车中的“否”??
<div id="markets">
<div class="row">
@foreach($markets as $market)
<div class="col-lg-3">
<div class="card">
<img src="{{ asset('images/markets/'.$market->image) }}" class="card-img-top">
<div class="card-body">
<h5 class="card-title">{{ $market->title }}</h5>
<p class="card-text">{{ Str::words($market->body, 10) }}</p>
<p class="card-text">{{ $market->price }} $</p>
<a href="{{ route('cart', $market->id) }}" class="card-text add-to-cart">Add to cart</a>
<a href="{{ $market->path() }}" class="btn btn-primary">Continue</a>
</div>
</div>
</div>
@endforeach
</div>
</div>