【问题标题】:Problems calling PHP function from Javascript从 Javascript 调用 PHP 函数的问题
【发布时间】:2014-10-24 19:11:57
【问题描述】:

[已解决] 查看 Jonathan M 的链接

原因:SimpleHTTPServer 不处理 POST

其他提示:我遇到了另一个问题,服务器返回的是整个 .php 文件,而不是值。这是因为 python 服务器默认不处理 php。一个简单的解决方法是通过 php -S youraddress:port 启动一个 php 服务器


我在从 javascript 调用 php 函数时遇到问题。我已经尝试了一些关于stackoverflow的建议,但没有成功。我不确定我在这里错过了什么......

我写信是为了向我的 php 文件提交一个简单的 POST 请求,但我在浏览器控制台中收到此错误:

POST http://localhost:8000/myphp.php 501 (Unsupported method ('POST')) 

我正在编写一个单页 Web 应用程序,该应用程序当前在我的本地计算机上运行,​​并在 /projecthome/ 上运行一个简单的服务器

 python -m SimpleHTTPServer

我的文件是这样排列的:

/projecthome/index.html
/projecthome/myphp.php
/projecthome/js/myjs.js

index.html:

...
<script src="js/myjs.js" type="text/javascript"></script>
<script>
    $(function() {
        run();
    });
</script>
...

myjs.js:

function schemaCreationTool() {
var id='someID';

$.ajax({
    url: 'myphp.php',
    type: 'POST',
    data: {id:id},
    success: function(data) {
        console.log(data);
    }
});
}

myphp.php:

<?php

if (isset($_POST['id'])) {
    select($_POST['id']);
}

function select($x) {
    echo "The select function is called.";
}
}

我遵循了这些帖子中的解决方案:

calling a php function in javascript

Call php function from javascript and send parameter

【问题讨论】:

  • redirect.php 中有什么?
  • 8000 端口上正在运行什么?
  • 这与 PHP 或 Javascript 无关。您正在运行 Python 的 SimpleHTTPServer,它不支持 POST 请求。切换到可以执行此操作的 Web 服务器。
  • redirect.php 实际上是 myphp.php(为这篇文章编辑了我所有的文件名),抱歉造成混淆。它已得到纠正。 localhost:8000 正在运行一个 simpleHTTPServer,它加载 index.html

标签: javascript php


【解决方案1】:

Python 的 SimpleHTTPServer 本身并不支持 POST。您可以使用这个小处理程序对其进行扩展:

http://georgik.sinusgear.com/2011/01/07/how-to-dump-post-request-with-python/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-14
    • 2011-07-19
    • 1970-01-01
    • 1970-01-01
    • 2020-03-16
    • 2012-06-22
    • 1970-01-01
    相关资源
    最近更新 更多