如何在ajax URL中定义Laravel动作函数?

时间:2019-02-09 16:27:58

标签: php laravel laravel-5

我遇到了laravel ajax问题,我想使用id为的laravel action()或route('page.destory')函数定义url。 Ajax代码在这里

$(".delete").click(function(){
var id = $(this).data("id");
var token = $("meta[name='csrf-token']").attr("content");

$.ajax(
{
    url: "{{action('Admin\Page\PageController@destroy')}}+id",
    method: 'DELETE',
    data: {
        "id": id,
        "_token": token,
    },
    success: function (data){
        alert(data);
    }
});

});

Laravel给我错误Missing required parameters for [Route: page.destroy]

在web.php中 Route::resource('page','PageController);

我该如何通过销毁操作传递ID。网址应类似于http://example.com/admin/page/1。但我不想手动编写url。非常感谢。

1 个答案:

答案 0 :(得分:1)

url: "{{action('Admin\Page\PageController@destroy')}}+id",

只是猜测,但我认为这行是错误的,因为您要附加+id字符串而不是+ variable id

所以实际上是产生了http://example.com/admin/page/+id,这是错误的。

尝试这样更改它:

url: "{{ action('Admin\Page\PageController@destroy') }}" + id

也不知道是否需要在id之前添加斜杠,例如:

url: "{{ action('Admin\Page\PageController@destroy') }}/" + id

尝试在浏览器中打开检查器,然后找到“网络”标签。尝试单击该删除按钮,然后查看最后一个请求。您将在此处看到实际发布到服务器的内容。

在chrome中,如下所示: enter image description here