我已经有了这个简单的页面来了解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>
js script:
function addToDb()
{
var source = "SoundCloud";
var partyKey = "4";
var id = "0987654321";
//window.alert("check your db"); // this is called as expected
jQuery.ajax({
type: 'POST',
// correctly finds the script but never executes it
url: 'PHP/functionFilter.php',
dataType: "json",
data: {functionname: 'addSong'},
success: function(response) { window.alert(response); }
});
};
php文件:
<?php
echo "".$_POST['functionname'];
?>
注意我没有收到任何错误。
答案 0 :(得分:0)
您正在使用dataType“json”发送数据。当你回响时,你需要对数据进行编码。
$array = array("success" => true, "message" => "hello world");
echo json_encode($array);
答案 1 :(得分:0)
在你的php代码上试试这个,
<?php
echo json_encode(array(isset($_POST['functionname']) ? $_POST['functionname'] : "error" ));
?>
答案 2 :(得分:0)
我的问题的累积解决方案
$anArray;
if (isset($_POST['functionname']))
{$anArray = array('message' => $_POST['functionname']);}
else
{$anArray = array('message' => "error");}
echo json_encode($anArray);