Javascript 用ajax调用php脚本

Javascript 用ajax调用php脚本,javascript,php,jquery,ajax,html,Javascript,Php,Jquery,Ajax,Html,我有这个简单的页面来理解ajax的工作原理,但是我还没有能够执行指定的php文件并获得成功。 以下是代码,需要额外说明的要点: html页面: <html> <head> <meta charset="utf-8"> </head> <body> <button onclick="addToDb()">click me!</button> <script src="https://ajax.go

我有这个简单的页面来理解ajax的工作原理,但是我还没有能够执行指定的php文件并获得成功。 以下是代码,需要额外说明的要点:

html页面:

<html>
<head>
  <meta charset="utf-8">
</head>
<body>
  <button onclick="addToDb()">click me!</button>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1./jquery.min.js"></script>
  <script src="js/addtodb.js"></script>
</body>
</html>
php文件:

<?php
echo "".$_POST['functionname'];
?>

注意,我没有收到任何错误。

您正在使用数据类型json发送数据。您需要在回显时对数据进行编码

$array = array("success" => true, "message" => "hello world");
echo json_encode($array);

在你的php代码上试试这个

<?php 
    echo json_encode(array(isset($_POST['functionname']) ? $_POST['functionname'] : "error" ));
?>

我的问题的累积解决方案

$anArray;
if (isset($_POST['functionname']))
{$anArray = array('message' => $_POST['functionname']);}
else
{$anArray = array('message' => "error");}
echo json_encode($anArray);

我的php代码现在看起来像这样。但预期的功能仍未实现。我仍然没有得到回应:$anArray;如果设置为$\u POST['functionname']{$anArray=array'message'=>$\u POST['functionname'];else$anArray=array'message'=>error;echo json_encode$anArray;您确定url:'PHP/functionFilter.PHP'是正确的吗?。您在浏览器控制台中看到了什么。请求成功了吗?请求的状态如何?是的,这是我从浏览器控制台得到的全部信息:不推荐将XUL节点导入内容文档d、 此功能可能很快就会被删除。jquery-1.7.1.min.js:3:0 getPreventDefault的使用不受欢迎。请改用defaultPrevented。我尝试更改路径,但它确实报告了一个错误。因此,我相信它确实找到了文件What is your browser,检查网络选项卡以查看请求。Mozilla firefox的网络选项卡显示向fu发送的邮件nctionFilter.php前面有一个绿色圆圈,我认为它工作正常。请注意,回显变量$anArray的固定值实际上是有效的。这正是我涉及$_Post['functionname']时的情况此解决方案无效,但它回显“undefined”。这是因为$\u POST本身是一个数组。您的$\u POST变量只是一个值。您需要创建一个关联数组,如我在示例中所示。我看到您最终解决了它。
$anArray;
if (isset($_POST['functionname']))
{$anArray = array('message' => $_POST['functionname']);}
else
{$anArray = array('message' => "error");}
echo json_encode($anArray);