javascript - 405 未找到方法。在本地主机上

标签 javascript php jquery html mysql

所以我正在制作一个表单,将信息放入我的本地 mysql 数据库中。但当我尝试发布它时我卡住了。尝试调试时出现“405 方法未找到”。我为我的虚拟数据库唱 xampp,也许是因为这个? 代码:

HTML:

<!DOCTYPE html>
<html>
<head>
  <title>Kasmetinių atostogų prašymas</title>
  <link rel="stylesheet" type="text/css" href="style.css" />
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
</head>
<body>
    <div class="title">
      <h1>Kasmetinių atostogų prašymas</h1>
    </div>
    <div class="form">
  <form id="requestForm" method="POST"  target="_blank">

    <input type="date" name="request_date" id="input_field" placeholder="Prašymo data"  required></br></br>

    <input type="text" name="first_name" placeholder="Vardas" id="input_field" required></br></br>

    <input type="text" name="last_name" placeholder="Pavardė" id="input_field" ></br></br>

    <input type="number" name="personal_code" placeholder="Asmens kodas" id="input_field" min="11" max="11" ></br></br>

    <input type="text" name="p_address" placeholder="Jūsų adresas" id="input_field" ></br></br>

    <input type="date" name="requestDateFrom" id="input_field" placeholder="Atostogos nuo"  ></br></br>

    <input type="date" name="requestDateTo" id="input_field" placeholder="Atostogos iki"  ></br></br>

    <input type="number" name="daysNumber" placeholder="Atostogų dienų skaičius" id="input_field" ></br></br>
  </br>
  <Input type="button" name="submit_button" id="buttonLast" value="Patvirtinti">
  </form>
</div>  
<script>
  $(document).ready(function(){
    $("#buttonLast").click(function(){
      $.ajax({
        url:"http://127.0.0.1:5500/insert.php",
        type: "POST", 
        data:$("#requestForm").serialize(),
        success:function(response)
        {
          alert("Well done!");
        }
      });
    });
  });
</script>
</body>
</html>

这是连接数据库并将信息发布到特定列的 PHP 代码。 出于测试目的,我尝试仅从 3 列发布。 PHP:

<?php



$con = mysqli_connect("localhost","root","","test");

if(!$con)
{
  echo 'Connection problems';
}
else
{
  echo 'Ok';
}


if(isset($_POST['submit'])){
$date = $_POST['requestDate'];
$name=$_POST['firstName'];
$lname = $_POST['lastName'];


$query = "insert into info (date,name,lname) values ('$date','$name','$lname')";


if($con->query($query) === true )
{
  echo 'Duomenys išsaugoti!';
}
else{
  echo 'Duomenų nepavyko išsaugoti!';
}
}
header("refresh:2; url=index.html");
?>

最佳答案

改变

type: "POST"

method:"POST"

您可能遇到的其他错误:

您在 php 中使用 requestDate,但在 html 中使用 request_date。其他参数类似。

更新: 将 cors header 添加到 Ajax 调用

url:"http://127.0.0.1:5500/insert.php",
method: "POST", 
headers: {
   'Access-Control-Allow-Origin': '*'
},
data:$("#requestForm").serialize(),
success:function(response)
{
  alert("Well done!");
}

关于javascript - 405 未找到方法。在本地主机上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51651532/

相关文章:

jquery - 当使用 jQuery 在按钮中添加很棒的字体图标时,当我单击另一个按钮时,该图标会消失

javascript - 提交时的 Google 表单获取值并设置时间格式

javascript - 使用 ng-show 属性测试 <span> 是否可见

javascript - 使用 Jquery 隐藏一些文本

php - 如何编码内容以通过 jquery 将它们发送到 php 文件?

javascript - 使用 Id 修改页面

javascript - 在 NodeJS 中使用 .ENV 值,Procfile 定义中出现必需的键错误

php - Magento 图片上传文件名不保存在数据库中

javascript - 在 AngularJS 中刷新服务器生成的模板

javascript - 如何根据条件更改 jtable 中列的特定行颜色?