VM299:1 未捕获的语法错误:JSON.parse 位置 0 处的 JSON 中的意外标记 u(<匿名>)

图沙尔库瓦尔

我正在尝试使用 ajax 请求获取数据,下面是 ajax 请求。

document.getElementById("myForm").style.display = "block";
                    $('body').css('overflow','hidden');
                    $.ajax({  
                        type: 'POST',  
                        url: 'techtest.php', 
                        dataType: 'json',
                        data: { id: val },
                        success: function(response, status, xhr){ 
                            console.log(response.array[1]);
                            document.getElementById('tech_about_me').innerHTML = response.array[0];
                            document.getElementById('tech_assest_group').innerHTML = response.array[1];
                            document.getElementById('tech_skill_group').innerHTML = response.array[2]+""+response.array[3];
                            document.getElementById('tech_address').innerHTML = response.array[4];


                        },
                        error: function(data,XMLHttpRequest,xhr, textStatus, errorThrown) { 
                            console.log("Status: " + textStatus); console.log("Error: " + errorThrown); 
                            var err =  JSON.parse(xhr.responseText);
                            console.log(err.Message);

                            var json = $.parseJSON(data);
                            alert(json.error);
                        }  
                    });

但我收到错误“VM299:1 Uncaught SyntaxError: Unexpected token u in JSON at position 0 at JSON.parse ()”

以下是我返回json的代码

<?php
 header("Content-Type: application/json");
 include "../common/config.php";
 include"../includes.php";
 include"session.php";
 // print_r('<script>console.log('.$_POST['id'].')</script>');
 $technician_details=$db->get_a_line("select * from user where user_id='".$_POST['id']."'");
 $about_me=$technician_details['about_me'];
 $address=$technician_details['address'];
 $assest_group=$technician_details['assest_group'];
 $skill_group=$technician_details['skill_group'];
 $skill_list=$technician_details['skill_list'];
 $data = array();
 $data[]=$about_me;
 $data[]=$assest_group;
 $data[]=$skill_group; 
 $data[]=$skill_list;
 $data[]=$address;
 $json_data = array(

        "recordsTotal"    => '5',  // total number of records
        "array"            => $data   // total data array
        );

 echo json_encode($json_data);  // send data as json format
 ?>

它以前工作过。但是在昨天测试时,我注意到它在我本地以外的 PC 上出错。从明天早上开始,它开始在本地出现同样的错误。请帮忙。

阿布罗修斯教授

在您发表最后一条评论后,我迅速组织了一个小测试来模拟您的脚本正在做什么。这工作正常。

我建议as-is先进行测试,如果您觉得没问题,请取消注释include行并再次测试。然后,如果可行,请尝试使用实际的数据库查询等

<?php
    if( $_SERVER['REQUEST_METHOD']=='POST' ){
        if( !empty( $_POST['id'] ) ){
            /*

            # are these being included correctly?
            include '../common/config.php';
            include '../includes.php';
            include 'session.php';


            */


            # to emulate db query and results
            $id=filter_input( INPUT_POST, 'id', FILTER_SANITIZE_NUMBER_INT );
            $sql=sprintf( 'select * from user where user_id="%s"',$id );

            $payload=array(
                'about'         =>  'From db - all about user - based upon id '.$id,
                'assetgroup'    =>  'From db - which asset group',
                'skillgroup'    =>  'From db - which skill group',
                'skilllist'     =>  'from db - what skills',
                'address'       =>  'from db - address of tech'
            );
            $data = array(
                'recordsTotal'  =>  count( $payload ),
                'data'          =>  $payload,
                'sql'           =>  $sql
            );
            header( 'Content-Type: application/json' );
            exit( json_encode( $data ) );
        }
        exit('error');
    }
?>
<!DOCTYPE html>
<html lang='en'>
    <head>
        <meta charset='utf-8' />
        <title>basic jquery - error parsing response</title>
        <script src='//code.jquery.com/jquery-latest.js'></script>
        <script>
            document.addEventListener('DOMContentLoaded',()=>{

                const node=function(id){
                    return document.getElementById( id )
                };

                let val=303;

                $.ajax({  
                    type:'POST',  
                    url:location.href,  //techtest.php
                    dataType:'json',
                    data:{ id: val },
                    success:function( r ){
                        node('tech_about_me').innerHTML = r.data.about;
                        node('tech_assest_group').innerHTML = r.data.assetgroup;
                        node('tech_skill_group').innerHTML = r.data.skillgroup+" "+r.data.skilllist;
                        node('tech_address').innerHTML = r.data.address;

                        console.info( r.sql, r.recordsTotal )
                    },
                    error: function(e) { alert(e); }  
                });
            });
        </script>
    </head>
    <body>
        <div id='tech_about_me'></div>
        <div id='tech_assest_group'></div>
        <div id='tech_skill_group'></div>
        <div id='tech_address'></div>
    </body>
</html>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

未捕获的语法错误:控制台中 App.js:18:1 处 JSON.parse (<anonymous>) 位置 0 处 JSON 中的意外标记 u

未捕获的语法错误:JSON.parse 位置 0 处的 JSON 中的意外标记 d(<匿名>)

未捕获的语法错误:JSON.parse 中位置 0 处的 JSON 中的意外标记 < - Wordpress

错误语法错误:JSON.parse 位置 0 处的 JSON 中的意外标记 u (<anonymous>)

<Jasmine> 位置 0 处的 JSON 中的意外标记 u

未捕获的承诺拒绝语法错误:JSON 中的意外标记 u 位于位置 0

JSON 中位置 0 处的意外标记 u 不适用于异步

JSON.parse 位置 0 处的 JSON 中的意外标记

“解析器错误”语法错误:位置 0 处的 JSON 中的意外标记 <

JSON 中位置 0 处的意外标记

JSON 中位置 0 处的意外标记

保存到本地存储 - 语法错误:JSON 中的意外标记 u 位于位置 0

undefined:1 undefined ^ SyntaxError: JSON 中的意外标记 u 在位置 0

获取SyntaxError:运行Lambda测试时,JSON意外标记u在位置0处

提取中位置 0 处的 JSON 中的意外标记 P。请帮我

angular ajax:JSON中位置0处的意外标记I

create-react-app未捕获(承诺)语法错误:JSON中位置0处的意外令牌<

JSON 中的意外标记 u 在位置 0 使用 Angularjs POST 方法

未捕获的语法错误:JSON 中的意外标记 a 在位置 2

语法错误:当获取 rails json 时,JSON 中的意外标记 o 在位置 1

反应 - JSON 中的意外标记 u 在位置 5

“ JSON中位置0处的意外令牌u”

语法错误:JSON 中的意外标记 o 在角度位置 1

未捕获到的SyntaxError:JSON中位置0处的意外令牌u

未捕获的语法错误:JSON.parse 处的 JSON 输入意外结束?

未捕获的语法错误:JSON.parse 处的 JSON 输入意外结束

JSON 中的意外标记 o 在位置 1 或无法读取未定义的属性“0”

SyntaxError:JSON 中位置 0 Express 的意外标记

Angular SyntaxError:JSON 中位置 0 的意外标记 P