【发布时间】:2017-03-06 10:45:50
【问题描述】:
我想使用 Ajax 向数据库添加一些内容。我有一个提交表单的链接,然后 Ajax 调用应该可以工作,但事实并非如此。我在不同的页面上使用相同的 Ajax 调用,但在该表单中,我使用的是带有提交类型的简单按钮。但是在这个页面上,我想提交 ...
这是表格
{!! Form::open(['id' => 'ajax-form', 'style' => 'float:right']) !!}
<input type="hidden" name = "idUser" id="idUser" value="{{Auth::user()->id}}">
<input type="hidden" name = "idCampaign" id="idCampaign" value="{{$campaign->id}}">
<a class="fa fa-bookmark fa-2x" onclick="document.getElementById('ajax-form').submit();" aria-hidden="true" href="javascript:{}" style="color:#fd8809"></a>
{!! Form::close() !!}
这是阿贾克斯:
$("#ajax-form").submit(function(event) {
event.preventDefault();
var form = $(this);
$.ajax({
type: "post",
url: "{{ url('addFavorites') }}",
dataType: "json",
data: form.serialize(),
success: function(data){
if(data.status == 'failedd'){
swal("Error!", "You have already added this campaign to favorites! If you want to remove it, go to your Favorites list page", "error")
}
else{
swal("Success!", "You added the campaign "+ data.idCampaign + " to favorites!", "success")
}
},
error: function(data){
swal("Error!", "error")
},
complete: function (data) {
}
});
});
当我单击此链接时,它会将我重定向到另一个页面,该页面会抛出:MethodNotAllowedHttpException。
【问题讨论】:
-
请发布您的 routes.php(使用 Laravel 5.3+ 时为 web.php)文件。
-
Route::post('addFavorites', 'SearchController@addFavorites'); -
你被重定向到的实际页面的路径是什么?当你说你被重定向时,你实际上是被重定向了,还是只是生成的链接把你带到了那里?
-
它将我重定向到我单击此链接的同一页面上
<a class="fa fa-bookmark fa-2x" onclick="document.getElementById('ajax-form').submit();" aria-hidden="true" href="javascript:{}" style="color:#fd8809"></a> -
检查没有更多名为
'addFavorites'的路由。
标签: javascript jquery ajax laravel