我想从.php文件发送parametres到我的Javascript,但我甚至无法管理发送字符串。我不能发送PHP变量到JavaScript
的JavaScript片段:
var params = "action=getAlbums";
var request = new XMLHttpRequest();
request.open("POST", PHP CODE URL, true);
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
request.setRequestHeader("Content-length", params.length);
request.setRequestHeader("Connection", "close");
request.send(params);
request.onreadystatechange = function() {
var phpmessage = request.responseText;
alert(phpmessage);
};
PHP片段:
$deviceFunction = $_POST["action"];
if ($deviceFunction == "") $deviceFunction = $_GET["action"];
// Go to a function depending the action required
switch ($deviceFunction)
{
case "getAlbums":
getAlbumsFromDB();
break;
}
function getAlbumsFromDB()
{
echo "test message!";
}
含phpmessage警报弹出,但它是空的(它实际上出现了两次)。如果我这样做,警报将不会工作:
request.onreadystatechange = function() {
if(request.status == 200) {
var phpmessage = request.responseText;
alert(phpmessage);
}
};
当使用Ajax,建议使用像Dojo或jQuery这样的Javascript库来完成繁重的工作。 –
现在,有几件事情可能会出错。为了缩小这个问题,我建议改变你的PHP页面来打印字符串,没有别的。即:<?php print'test message'; ?> –