【问题标题】:JSON data is not receiving in AJAXJSON 数据未在 AJAX 中接收
【发布时间】:2014-07-17 06:14:19
【问题描述】:

这是我的 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);}
?>

如果有任何错误请告诉我,我是编程初学者。

【问题讨论】:

  • 您在 PHP 脚本中的两个位置有 json_encode()。你能看出这两行之间的区别吗?
  • 分号放错了,试试jshint.com

标签: php ajax json


【解决方案1】:

你需要echojson_encode()

替换

json_encode($data);

echo json_encode($data);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-14
    • 2016-10-15
    • 2022-01-02
    • 2019-06-20
    • 1970-01-01
    • 2021-12-15
    • 2013-12-30
    相关资源
    最近更新 更多