2

我学习 ajax,并在工作目录中设置了一个简单的 httpserver 以在浏览器中运行一些文件。现在发生的事情是,当我运行我的 html 文件时,它看起来如下所示:

<!doctype html>
  <html>
    <head>
    <meta charset=utf-8>
    <title>playground</title>
    </head>
    <body>

    <h1>Save</h1>
    <form action="#">
      <textarea name="content" id="content" cols="30" rows="10"></textarea>
      <p><button type="submit">Save</button></p>
    </form>

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>

    <script>
    (function($) {

      $('form').on('submit', function(e) {
        $.post('save.php', $(this).serialize(), function(data) {
          console.log(data);
        });
        e.preventDefault();
      });

    })(jQuery);
    </script>

    </body>
  </html>

而“save.php”就是这样:

<?php
    $_POST['content'];
?>

然后浏览器给我错误:

POST http://localhost:8000/save.php 501 (Unsupported method ('POST')) in jquery.min.js:4

我不明白为什么不支持 post 方法?

4

4 回答 4

1

发送

标头Access-Control-Allow-Origin、Access-Control-Allow-Methods 和 Access-Control-Allow-Headers

看这里

于 2013-04-08T10:36:16.163 回答
1

@PSRs 的答案可能有效,但我所做的只是停止在 simpleHTTPServer 上运行简单的应用程序并将其移动到更好地支持 php 的 mamp 服务器...

于 2013-04-09T08:33:12.170 回答
0

另一种选择是使用简单服务器的 php 解决方案而不是 python 解决方案:

php -S localhost:8000

如果您没有安装 php,请先运行它:

sudo apt install php7.2-cli
于 2019-07-24T15:28:19.800 回答
-3

转移<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script><head>标签

于 2013-04-08T11:02:44.677 回答