这是我的JavaScript文件。它没有显示从PHP文件收到的数据。
var b1 = document.getElementById('button1');
b1.addEventListener('click',ajax_post());
function ajax_post()
{
document.getElementById("status").innerHTML="You have pressed submit button";
var hr = new XMLHttpRequest();
if(!hr)
{alert("cant create object");}
else {
alert("object created");
}
var url = "popup.php";
var fn = encodeURIComponent(document.getElementById("firstname").value);
var ln = encodeURIComponent(document.getElementById("lastname").value);
var vars = "firstname="+fn+"&lastname="+ln;
hr.open("POST",url,true);
hr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
hr.onreadystatechange = function()
{
var obj = JSON.parse(hr.responseText);
document.getElementById("status").innerHTML=obj.firstname;
}
hr.send(vars);
return false;
};
我的php文件是:
<?php
$header = "Content-Type: application/json";
header($header);
if (isset($_POST['firstname']))
{
$fnam=$_POST['firstname'];
$lnam=$_POST['lastname'];
$data=array("lastname"=>$fnam,"lastname"=>$lnam);
json_encode($data);
}
else
{
$data=array("firstname"=>"haider","lastname"=>"rehman");
echo json_encode($data);}
?>
如果有任何错误,请告诉我,我是编程初学者。
答案 0 :(得分:1)
您需要echo
json_encode()
替换
json_encode($data);
通过
echo json_encode($data);