Javascript 编码-解码Json问题

Javascript 编码-解码Json问题,javascript,php,json,Javascript,Php,Json,我尝试将chrome扩展与php文件连接到XMLHttpRequest 工作正常,但我可以使用JSON.parse来解码JSON Js文件: var client = new XMLHttpRequest(); client.onreadystatechange = function() { if (client.readyState == XMLHttpRequest.DONE) {

我尝试将chrome扩展与php文件连接到XMLHttpRequest

工作正常,但我可以使用JSON.parse来解码JSON

Js文件:

var client = new XMLHttpRequest();
                client.onreadystatechange = function() {
                    if (client.readyState == XMLHttpRequest.DONE) {
                            var j = client.responseText;

                        console.log(j);

                            }
                }
                client.open("GET", "http://localhost/extencio/index.php?"+o, true);

                client.send();
在php文件中,我返回一个包含以下内容的对象:

echo json_encode($oFinal);
console.log(j)的结果是:

{“textonde”:“nombre”,“value”:“getText”,“donde”:“name”}{“textonde”:“apellido”,“value”:“getText”,“donde”:“name”}{“textonde”:“sexo”,“value”:“TyPE no detectoado”,“donde”:“name”} {“textoDonde”:“sexo”,“value”:“TyPE no detectoado”,“donde”:“name”}

我将js文件中的这一行更改为解码:

var j = JSON.parse(client.responseText);
但还有其他错误:

未捕获的语法错误:意外标记{client.onreadystatechange@popup.js:66 VM71:1未捕获的语法错误:意外标记{client.onreadystatechange@popup.js:66


66是“var j”行。

您的JSON输出无效。您的输出中有多个对象。是否需要对象数组?请尝试以下操作:

[{"textoDonde":"nombre","value":"getText","donde":"name"},{"textoDonde":"apellido","value":"getText","donde":"name"},{"textoDonde":"sexo","value":"TyPE no detectoado","donde":"name"},{"textoDonde":"sexo","value":"TyPE no detectoado","donde":"name"}]

在一个过梁中运行JSON,看看它是否有效。

一个
控制台。log
正在输出多个JSON对象?!您是
echo JSON_encode
在循环中运行吗?那么您没有发送有效的JSON!发送
[]
array,如果您想发送多个值。您应该将这些对象添加到PHP数组中。然后输出数组的JSON编码。@Phyron您也应该在这里发布PHP代码。