从Javascript调用PHP函数的问题

时间:2014-10-24 19:11:58

标签: javascript php

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

原因:SimpleHTTPServer无法处理POST

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

启动php服务器

我在使用javascript调用php函数时遇到问题。我已经尝试了一些关于stackoverflow的建议而没有任何成功。我不确定我在这里缺少什么......

我正在写一个简单的POST请求到我的php文件,但是我在浏览器控制台中收到了这个错误:

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

1 个答案:

答案 0 :(得分:5)

Python的SimpleHTTPServer本身不支持POST。您可以使用这个小程序处理器扩展它:

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