一尘不染

JSON.parse:意外字符

json

在尝试进入sql查询数组并获得以下javascript错误后,我尝试通过php jquery传递json。

JSON.parse: unexpected character

返回sql结果的函数:

public function selectassocSql($sql){
$i = 0;
        $resSelect = array();
        mysql_query("SET NAMES 'utf8'");
        $result = mysql_query($sql);
        while ( $row = mysql_fetch_assoc($result) )
        {
            $resSelect[$i] = $row;
            $i++;
        }
        mysql_free_result($result);
        return $resSelect;
}

以这种方式使用此功能后,

$sql = "SELECT id, code, name FROM table WHERE code LIKE '%$codcli%' ";
$v = $data->selectassocSql($sql);
echo json_encode($v, JSON_FORCE_OBJECT);

而javascript代码是这样的:

$('#formclientes').submit(function(e){

        e.preventDefault();
        $.ajax({
            type: 'POST',
            url:$(this).attr('action'),
            data:$(this).serialize(),
            success:function(data)
            {
              //console.log("SUCCESS " + data);
              var json_cli = $.parseJSON(data);
            }
        })
    })

如何纠正此错误以及如何从jquery读取json?


阅读 240

收藏
2020-07-27

共1个答案

一尘不染

您不需要$.parseJSON调用,因为jQuery自动执行该调用,因为如果未指定dataType属性,则jQuery会尝试猜测它并调用正确的函数来解析响应,然后再将数据处理为成功函数。

   $.ajax({
        type: 'POST',
        url:$(this).attr('action'),
        data:$(this).serialize(),
        success:function(data)
        {
          //console.log("SUCCESS " + data);
          var json_cli = data;
        }
    })
2020-07-27