[已解决]查看 Jonathan M 的链接
原因:SimpleHTTPServer 不处理 POST
其他提示:我遇到了另一个问题,服务器返回整个 .php 文件,而不是值。这是因为Python 服务器默认不处理 php。一个简单的解决方法是通过 php -S youraddress:port
我在从 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.";
}
}
我遵循了这些帖子中的解决方案:
最佳答案
Python 的 SimpleHTTPServer 本身不支持 POST。您可以使用这个小处理程序来扩展它:
http://georgik.sinusgear.com/2011/01/07/how-to-dump-post-request-with-python/
关于javascript - 从 Javascript 调用 PHP 函数时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26554714/