将Ajax数据发送到php时无法加载资源错误(405)

时间:2017-11-28 12:04:31

标签: php ajax laravel

我有错误 - >

  

"无法加载资源:服务器响应状态为405   (不允许的方法)"

在larval中向Ajax发送Ajax数据时。 (我做了路线)

Ajax代码

function insertData()
{
      var text = document.getElementById('humanText').value;
      var user = document.getElementById('userName').innerText;
      $.ajax({
        type:"POST",
        url: "insertContentData",
        data:{text:text, user:user},
        success: function(data){
          alert(data);
        }
     });
     document.getElementById('humanText').value = "";
};
insertData();

和我的php代码" insertContentData.php"

<?php
  $data = $_POST['text'];
  $user = $_POST['user'];
  echo $data.", ".$user;
 ?>

为什么不这样做? 谢谢你的帮助。

2 个答案:

答案 0 :(得分:0)

在http世界中&#34; METHOD&#34;通常使用的是&#34; GET&#34;这只是从服务器中提取数据。当您想要将数据从用户发送到您使用的服务器&#34; POST&#34;。这是两种最常用的方法。

错误表示方法不允许。你是AJAX代码显示你正在使用POST方法。

在Laravel中,您需要定义允许POST方法的路由。因此Route::get($uri, $callback);代替Route::post($uri, $callback);而不是Date可以在the Laravel Routing documentation中找到更多信息。但是我认为你缺少一些基于你发布的原始PHP代码的概念,代码应该在controller内。

答案 1 :(得分:0)

尝试像这样跑。我希望它有效。

function insertData(){
    var text = document.getElementById('humanText').value;
    var user = document.getElementById('userName').innerText;
    $.ajax({
      type:"POST",
      url: "insertContentData",
      data:{text:text, user:user},
      success: function(data){
        alert(data);
      }
    });
    document.getElementById('humanText').value = "";
};

window.onload = function(){
    insertData();
}
<?php
  $data = $_POST['text'];
  $user = $_POST['user'];
  echo $data.", ".$user;
 ?>