Javascript Can';t柱,不允许使用405方法

Javascript Can';t柱,不允许使用405方法,javascript,php,Javascript,Php,我写了一个简单的代码: 登录页面,我正在尝试将用户名发送到php页面 当我点击登录页面上的提交时,我收到了405个不允许使用的方法 如果我使用的是get方法,它可以工作,但我需要post,因为我想发送用户并传递到服务器,而不是地址中的用户 HTML文件: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="https://code.jquery

我写了一个简单的代码: 登录页面,我正在尝试将用户名发送到php页面

当我点击登录页面上的提交时,我收到了405个不允许使用的方法

如果我使用的是get方法,它可以工作,但我需要post,因为我想发送用户并传递到服务器,而不是地址中的用户

HTML文件:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <script
  src="https://code.jquery.com/jquery-3.1.1.min.js"
  integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8="
  crossorigin="anonymous"></script>
    <script src="mainjs.js"></script>
</head>
<body>

<form>
  First name:<br>
  <input id="fname" type="text" name="firstname" value="Mickey">
  <br>
  Last name:<br>
  <input id="lname" type="text" name="lastname" value="Mouse">
  <br><br>
  <input type="submit" value="Submit" onclick="testfunc();">
</form> 

<div id='result'></div>
<p>If you click the "Submit" button, the form-data will be sent to a page called "action_page.php".</p>

</body>
PHP文件:

<?php
    header('Access-Control-Allow-Origin: *');
    header("Access-Control-Allow-Headers: Origin, X-Requested-With,Content-Type, Accept");
    header('Access-Control-Allow-Methods: GET, POST, PUT');
    echo "Success";
?>


谢谢

我无法用405 Method not Allowed消息复制您的问题,但我感觉它与您在PHP文件中发送的那些头有关。我不知道你为什么要发送这些,因为我看不出你为什么要这样做

如果您真的需要从PHP文件发送这些头文件,这个答案可能没有帮助。我尝试了下面的步骤,并且能够得到我认为是您想要的功能

首先,让我们将脚本移动到结束正文标记之前的右侧:

<script
  src="https://code.jquery.com/jquery-3.1.1.min.js"
  integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8="
  crossorigin="anonymous"></script>
<script src="mainjs.js"></script>
</body>
请注意,“事件”作为参数传递给addEventListener中的匿名事件处理程序函数。必须在此事件上调用preventDefault(),以便表单不会提交,从而重新加载整个页面

我不确定您在PHP文件中做了什么,但下面是我的getdata.PHP:

<?php

if ($_REQUEST['fname'] == 'Mickey' && $_REQUEST['lname'] == 'Mouse') {
  $username = 'Disney';
  echo $username;
}

<input type="submit" value="Submit" id="submit">
var submit = document.getElementById('submit');

submit.addEventListener('click', function(event) {
  event.preventDefault();
  alert("MainJS");
  var fname = $('#fname').val();
  var lname = $('#lname').val();

  $.post('getdata.php', {fname:fname, lname:lname}, function(data){
      alert(data);
      $('#result').html(data);

  });
});
<?php

if ($_REQUEST['fname'] == 'Mickey' && $_REQUEST['lname'] == 'Mouse') {
  $username = 'Disney';
  echo $username;
}