2017-06-03 44 views
0

我想在我的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> 

回答

0

这两个原因不起作用。首先是您在' /'中有空间,导致路由无效。删除该空间并将其更改为'/'。其次,这是一个post请求,你需要一个csrf标记,否则你会得到一个csrf不匹配错误。

<script> 
    function edit_city(id) { 
     var url = '{{url("editcity")}}' + '/' +id; 

     $.post(url, {_token: '{{ csrf_token() }}'}, function(page_response) { 
      alert(page_response); 
     }); 
    } 
</script> 
+0

感谢您的回答。有用。但现在,而不是警报,我想要做这样的事情:$(“。modal-body”)。html(page_response);它适用于alert,但不起作用.html(page_response)。 –

0

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

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