我从发送JSON对象PHP
到Jquery ajax
我可以接收json数据,但可以使用字符串格式而不是对象。
PHP代码
$userdata=json_encode(array("FirstName"=> $fName,"LastName"=>$lName,"PhoneNumber"=>$phone,"EmailId"=> $email,"Balance"=>$balance));
echo $userdata;
Java脚本
$(document).ready(function(){
alert();
$.ajax({
type:"post",
url:"viewprofile.php",
contentType: "json",
data:{"somedata":"anydata"},
success:function(response) {
alert(response);
$.each(response, function(key, value) {
alert(key + ' ' + value);
});
},
error: function (xhr, ajaxOptions, thrownError) {
alert("error : "+xhr.status+" "+thrownError);
}
});
});
我在成功功能的第一个警报中得到整个json
但是,当我遍历json时,它从字符串返回索引和值。
For Example
在第一个警报输出中是 {"fname":"abc","lname":"def"}
在迭代过程中,输出为
0 {
1 "
2 f
3 n
4 a
5 m
.......so on
我在哪里错了,请帮忙。
默认情况下,PHP声明其输出为HTML。因此,您将其data
作为(无效)HTML字符串处理。
添加:
header("Content-Type: application/json");
同时contentType: "json",
从JavaScript中删除。这不是有效的内容类型,并且您没有将要发布的数据编码为JSON。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句