【问题标题】:JSON not working in javascript ajax requestJSON在javascript ajax请求中不起作用
【发布时间】:2016-03-15 19:30:15
【问题描述】:

请您帮忙,我的 ajax 请求有问题。我已经返回文本数据,我想使用 json_parse 将其转换为 JSON,但它不起作用

从 ajax 请求返回的数据如下所示:

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);
                    }

请指教

【问题讨论】:

标签: javascript php json ajax


【解决方案1】:

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 数组吗? $sql ="select * from 收件人 groupid='$searchText'"; $res = mysql_query($sql); $num = mysql_num_rows($res); $数据=''; if(mysql_num_rows($res)> 0) { for($i=0;$i$row['rec_name'], 'mobile'=>$row['mobile_number']);回声 json_encode($output); }
  • 我在问题中添加了 php 代码,请您帮忙以正确的方式编写 json 数组
  • 创建一个数组。每次绕过循环时添加一个新对象。 最终结果转换为JSON。
  • @Haifaaaa:这将是一个问题。但它是already been asked and answered,只需搜索“创建 JSON PHP”即可。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多