jquery - ajax请求抛出405方法未找到错误(Laravel 5)

标签 jquery ajax laravel-5

我正在从表单进行 ajax 调用,以将复选框数据发送到 Controller 。相关html代码如下:

 <form method="POST" action="http://192.168.1.25/nonresponsiveurl" accept-charset="UTF-8" class="del_form" id="del_form" name="del_form"><input name="_token" type="hidden" value="igr6iMt1WfeZunyG8wpyy1tNK1efgiclyOvZ1hkF">
  <input id="submit" type="submit" name="submit" value="Delete Checked Records" onclick="return submitDelForm();">
   <div class="table-responsive shadow-edge-nofill">

    <table class="table table-striped">
                    <tbody>
                    <tr>
            <td><input id="badURL0" class="bad_url_checkbox" name="bad_url_checkbox" type="checkbox" value="2"></td>

    etc....etc.....etc....

    </form>

以下是相关的 JavaScript 代码:

  <script type="text/javascript">
    function submitDelForm(){
        $('div#loadmoreajaxloader').show();
        var form = document.del_form;
        var dataString = $(form).serialize();
        $.ajaxSetup({
            headers: { 'X-CSRF-Token' : $('meta[name=_token]').attr('content') }
        });
        $.ajax({
            type: 'POST',
            URL: '/delbadurl',
            contentType: "application/json; charset=utf-8",
            data: {'serial_data' : dataString},
            success: function(data){
                $('div#loadmoreajaxloader').hide();
            }
        });
    }
</script>

以下是相关路由:

  Route::post('delbadurl','Admin\DashboardController@delBadURL' );

我可以确认 CSRF token 已附加到数据字符串中。表单数据也被附加到 dataString 中。然而,jquery 抛出 405 错误。

我正在使用许多其他类似的 ajax 函数来获取和发送数据。除了这个特定的功能之外,一切都运行良好。由于我空手而归,因此我将不胜感激。

最佳答案

就像我在评论中所说的那样,您的表单似乎是以默认(HTML)方式提交的。

以防止您可以使用 jQuery 事件处理。 为此,您应该删除 onclick来自您的 <input type="submit" ...> 的属性一开始。
然后将事件处理程序绑定(bind)到提交事件并使用 preventDefault() 阻止表单提交的默认行为:

$("#del_form").on("submit", function(event){
    event.preventDefault();
    //your ajax code goes here...
});

关于jquery - ajax请求抛出405方法未找到错误(Laravel 5),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32837340/

相关文章:

javascript - 访问附加元素的对象

jquery - CSS 动画在文本框下方创建填充并移动按钮

javascript - jQuery:如何再次启用可放置

javascript - 使用 AJAX 从 CloudFront 加载文件会导致 403(禁止)错误

php - 无法在 Laravel 5.6 Controller 中创建请求对象

javascript - 遍历特定类中不包含自己的类的所有跨度

javascript - AJax,如何从 XML 文件中的节点获取值

javascript - 存储 Ajax 响应以显示给其他用户

php - laravel mongodb jenssegersallowDiskUse true

php - 带有 Twig 的 laravel csrf token