JSON在javascript ajax请求中不起作用
请帮助,我的ajax请求有问题。我有返回文本数据,我想使用JSON_parse将其转换为JSON,但它不起作用 从ajax请求返回的数据如下所示:JSON在javascript ajax请求中不起作用,javascript,php,json,ajax,Javascript,Php,Json,Ajax,请帮助,我的ajax请求有问题。我有返回文本数据,我想使用JSON_parse将其转换为JSON,但它不起作用 从ajax请求返回的数据如下所示: data = "{"name":"ehab","mobile":"xxx"}{"name":"Hamza","mobile":"zzzz"}" 我想将此数据转换为json,我使用以下ajax请求 $.ajax({ type: "POST", url: "getGroup.php",
data = "{"name":"ehab","mobile":"xxx"}{"name":"Hamza","mobile":"zzzz"}"
我想将此数据转换为json,我使用以下ajax请求
$.ajax({
type: "POST",
url: "getGroup.php",
data: { "searchText" : number},
success: function(data)
{
data = JSON.parse(data);
debugger;
},
error: function (error) {
debugger;
}
如果我使用这种方式,则返回错误消息
Uncaught SyntaxError: Unexpected token {
我的php数组文件
$sql ="select * from recipients where `groupid`='$searchText'";
$res = mysql_query($sql);
$num = mysql_num_rows($res);
$data='';
if(mysql_num_rows($res)> 0)
{
for($i=0;$i<mysql_num_rows($res);$i++) {
$row=mysql_fetch_assoc($res);
$output = array('name'=>$row['rec_name'],
'mobile'=>$row['mobile_number']);
echo json_encode($output);
}
$sql=“从收件人中选择*,其中`groupid`='$searchText';
$res=mysql\u查询($sql);
$num=mysql\u num\u行($res);
$data='';
如果(mysql_num_rows($res)>0)
{
对于($i=0;$i$行['rec_name'],
“手机”=>$row[“手机号码]);
echo json_编码($output);
}
请注意,JSON无效
{"name":"ehab","mobile":"xxx"}{"name":"Hamza","mobile":"zzzz"}
Here -------------------------^
在顶层不能有两个这样的对象
您可以通过将其包装在[…]
中,并用,
分隔条目,将其作为一个数组:
[{"name":"ehab","mobile":"xxx"},{"name":"Hamza","mobile":"zzzz"}]
然后您可以这样访问它:
console.log(data[0].name); // "ehab"
console.log(data[1].name); // "Hamza"
或者使用循环,forEach
等
旁注:如果您的服务器返回正确识别的有效JSON,jQuery将在调用
success
函数之前为您解析它,因此无需在代码中使用JSON.parse
。检查您的JSON格式。您能帮助我如何编写JSON数组吗$sql=“从收件人中选择*,其中groupid
='$searchText';$res=mysql\u查询($sql);$num=mysql\u num\u行($res);$data='';如果(mysql_num_rows($res)>0){for($i=0;$i$row['rec_name'],'mobile'=>$row['mobile_number']);echo json_encode($output);}我在问题中添加了php代码,请帮助以正确的方式编写json数组创建数组。每次循环时添加一个新对象。仅将最终结果转换为JSON。@haifaaa:这将是一个新问题。但它是,只需搜索“创建JSON PHP”。