2017-06-03 45 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); } 
});