【问题标题】:JavaScript $.post() not working with Laravel 5.4JavaScript $.post() 不适用于 Laravel 5.4
【发布时间】:2017-11-04 11:51:47
【问题描述】:

我试图在我的 Laravel 项目中使用 JavaScript $.post() 函数,但它不起作用。

以下是我的 JavaScript 函数

<script>

    function edit_city(id){
    //window.location.href = "editcity/"+id;
    var url= '{{url("editcity")}}' + ' /' +id;

    $.post(url, function(page_response)
    {
        alert(page_response);
    });
    }
    </script>

这是我的路线:

Route::post('editcity/{city_id}', function () {
    return "view";
});

页面没有给出任何响应。它也没有显示任何错误。我厌倦了下面的 JavaScript,它运行良好。

<script>

    function edit_city(id){
    window.location.href = "editcity/"+id;
    }
    </script>

【问题讨论】:

    标签: javascript laravel-5 routes httprequest


    【解决方案1】:

    我相信您使用的$.post() 速记是incorrect。你能得到完整的$.ajax() 方法吗?类似的东西:

    $.ajax({
      type: "POST",
      url: url,
      success: function(page_response){ alert(page_response); }
    });
    

    【讨论】:

      【解决方案2】:

      这不起作用的两个原因。首先是您在' /' 中有一个空格,这使路由无效。删除空格并将其更改为'/'。其次,这是一个发布请求,您需要一个 csrf 令牌,否则您会收到 csrf 不匹配错误。

      <script>
          function edit_city(id) {
              var url = '{{url("editcity")}}' + '/' +id;
      
              $.post(url, {_token: '{{ csrf_token() }}'}, function(page_response) {
                  alert(page_response);
              });
          }
      </script>
      

      【讨论】:

      • 感谢您的回答。有用。但现在我想做这样的事情而不是警报: $(".modal-body").html(page_response);它适用于警报,但不适用于此 .html(page_response)。
      猜你喜欢
      • 1970-01-01
      • 2018-07-19
      • 1970-01-01
      • 2017-07-13
      • 1970-01-01
      • 2018-03-23
      • 1970-01-01
      • 2018-04-10
      • 2017-08-02
      相关资源
      最近更新 更多