我对JSON知之甚少,并且从来没有能够将带有JSON的内容返回到ajax并使用jquery显示它,尽管我尝试了很多。
我想要做的是,使用JSON发送数据加载用户的个人资料时,对象为ajax。
[更新] php代码:
<?php include(dirname(__FILE__). '/../script/config.php');
session_start();
$id = $_POST['u_search'];
$email = $_SESSION['Email'];
foreach($pdo->query("SELECT * FROM Users WHERE ID='$id'") as $row) {
//$firstname = $row['FirstName'];
//$lastname = $row['LastName'];
$pic = $row['Pic'];
$id = $row['ID'];
$u_email = $row['Email'];
}
$firstname = "Jason";
$lastname = "Born";
$data = array("success"=> true,"inpt"=>"<p>Hello there! I am " . $firstname . " " . $lastname . "</p>");
echo json_encode($data);
header("Content-Type: application/json");)
?>
<?php $pdo = null; ?>
更新了Ajax :
function op_prof(obj) {
var value = obj.id;
var dataString = "{'u_search':'"+value+"'}";
$("#co_profile").show();
$(".searchbox").val('');
$("#usr_suggest").hide();
$.ajax({
type: "POST",
url: '/script/profile.php',
dataType: 'json',
data: dataString,
cache: false,
success: function(data) {
alert(console.log(data));
alert(data);
$("#co_profile").html(data.inpt).show();
location.hash = 'profile' + 'id=' + dataString;
}
});
};
编辑:当我使用dataType: 'json'
时,success
中的任何内容都没有运行,但当我将其删除时,它们就会运行。
编辑:当我使用datatype: 'json'
而不是dataType: 'json'
时,success
中的代码会运行。我使用alert(console.log(data));
,它说“未定义”
编辑:我正在使用//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js
答案 0 :(得分:1)
如果你输入数据类型:json意味着你必须发送数据:“”以json字符串格式,甚至在服务器端变量名称应该匹配,以便它可以读取你发送的值。
示例:
datatype:'json',
data : JSON.stringify({'u_search':'value'})
使用JSON.js文件将对象转换为字符串。
答案 1 :(得分:1)
var dataString = "{'u_search':'"+value+"'}";
dataType: 'json',
data: dataString,
修改强>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
答案 2 :(得分:0)
试试这个。
$.post("/script/profile.php",{dataString:dataString},function(data){
alert(console.log(data));
alert(data);
$("#co_profile").html(data.inpt).show();
location.hash = 'profile' + 'id=' + dataString;
}, "json"); // USing JSON here for the returned value from server...
在profile.php文件中,您必须解码json格式。请记住在名为dataString
的变量中收集已解码的json值