我最近刚开始使用ajax,我遇到了一个小问题。 代码如下:
问题:
stdClass对象是我现在所困的PHP对象,无法更改相关服务器的输出格式。
我已经尝试了所有可能的数组/对象/变量 - 我能想到的组合,并尝试对对象进行json_encode。但是,此解决方案仅返回一组长字符串,对象上的var_dump也是如此。我可能是错误的,完全没有经历过json。
我需要一些关于如何以我可以用JavaScript输出的格式将对象传递给AJAX的指导。
AJAX代码:
function checkSerial(serial) {
console.log(serial);
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
} else { // code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
$responseText=xmlhttp.responseText;
console.log($responseText);
}
}
xmlhttp.open("GET","../module/getdevice.php?serial="+serial, true);
xmlhttp.send();
}
输出的stdClass。对于删失的值感到抱歉。
object(stdClass)#5 (15) {
["censored"]=>
string(12) "censored"
["censored"]=>
string(29) "censored"
["censored"]=>
string(1) "censored"
["censored"]=>
string(8) "censored"
["censored"]=>
string(7) "censored"
["censored"]=>
string(0) "censored"
["censored"]=>
string(56) "censored"
["censored"]=>
string(47) "censored"
["censored"]=>
string(47) "censored"
["censored"]=>
string(30) "censored"
["censored"]=>
string(14) "censored"
["censored"]=>
string(0) "censored"
["censored"]=>
string(0) "censored"
["censored"]=>
string(0) "censored"
["censored"]=>
希望这篇文章不重复,我已尽力积极寻找解决方案。 提前谢谢!
答案 0 :(得分:0)
您已经在服务器端拥有解决方案:json_encode()
。
要将javascript中的长字符串转换为可以使用的对象,需要解析它:
console.log( JSON.parse($responseText) );