Javascript 为什么我的JSON突然不起作用?

Javascript 为什么我的JSON突然不起作用?,javascript,php,arrays,json,Javascript,Php,Arrays,Json,我只是把我的代码从一台电脑换到另一台电脑,因为前一台电脑开始表现得很疯狂。现在,当我尝试使用我的网站时,它不会将任何信息拉入div。我真的不确定这里发生了什么,这给了我一个错误 未捕获的语法错误:JSON中位于JSON.parse()位置2的意外标记 这是我以前没有得到的 <script> //$('#agent').change(function(){ $(document).on('change', "#agent", function(e

我只是把我的代码从一台电脑换到另一台电脑,因为前一台电脑开始表现得很疯狂。现在,当我尝试使用我的网站时,它不会将任何信息拉入div。我真的不确定这里发生了什么,这给了我一个错误

未捕获的语法错误:JSON中位于JSON.parse()位置2的意外标记

这是我以前没有得到的

<script>
        //$('#agent').change(function(){
            $(document).on('change', "#agent", function(event) { 

        //jquery
         var IEX_ID=$(this).val();


        if  (IEX_ID){
            //ajax call
            $.ajax({

                type:'POST',
                url:'GetAllData.php',
                cache:false,
                data: 'Fullname='+IEX_ID,
                success: function(data){





                    var obj = JSON.parse(data);

                    console.log(obj);



                    $('#IEX_ID').html(obj.IEX_ID);
                    $('#BalancedScore').html(obj.BalancedScore);
                    $('#CustomerEx').html(obj.CEPt);
                    $('#CEM1').html(obj.CEM1);
                    $('#CEM2').html(obj.CEM2);
                    $('#CEM3').html(obj.CEM3);
                    $('#CETlabel').html(obj.CET1);
                    $('#CET2label').html(obj.CET2);
                    $('#CET3label').html(obj.CET3);

             </script>

//$(“#代理”).change(function(){
$(文档).on('change',“#agent”,函数(事件){
//jquery
var IEX_ID=$(this.val();
如果(IEX_ID){
//ajax调用
$.ajax({
类型:'POST',
url:'GetAllData.php',
cache:false,
数据:“全名=”+IEX_ID,
成功:功能(数据){
var obj=JSON.parse(数据);
控制台日志(obj);
$('IEX_ID').html(obj.IEX_ID);
$('#BalancedScore').html(obj.BalancedScore);
$('#CustomerEx').html(obj.CEPt);
$('#CEM1').html(obj.CEM1);
$('#CEM2').html(obj.CEM2);
$('#CEM3').html(obj.CEM3);
$('#cetlab').html(obj.CET1);
$('CET2label').html(obj.CET2);
$('CET3label').html(obj.CET3);

下面是它从中提取数组的php。如果我做控制台日志,它会给我“尝试获取非对象的属性'num_rows'”这通常意味着我的查询有问题。我没有发现任何问题?它与另一台计算机上使用的代码完全相同。我只是复制所有文件并传输它们,以查看是否修复了任何问题。我不确定为什么在一台计算机上所有东西都能完美地工作,但在这台计算机上,它会给我这些错误

    <?php

    $Fullname=$_POST['Fullname'];

    if(!empty($_POST['Fullname']))


  {



            $query=$conn->query("SELECT Supervisor, Fullname, IEX_ID, BalancedScore, CEPt, CEM1, CEM2, CEM3, FCRPt, FCRM1, FCRM2, AIMPt, AIMScore, AIMCnt, ProdPt, CET1, CET2, CET3, FCRT1, FCRT2, AYHT, AYHM, M_AYHT, AYHPt, Total, skill1, skill2, skill3, skill4, skill5, skill6, skill7, skill8, skill9, skill10, skill11, skill12, skill13, skill14, skill15, skill16, skill17, skill18, skill19, IncentiveMonth FROM CurrentSC WHERE IEX_ID = '".$Fullname."' order by Fullname ASC ");


            $rowCount=$query->num_rows;

            if($rowCount>0)


            {
                            while($row = mysqli_fetch_array($query))
                            {

                                            echo json_encode;

                   $output = array ("IEX_ID" => $row['IEX_ID'], "BalancedScore" => $row['BalancedScore'], "CEPt" => $row['CEPt'], "CEM1" => $row['CEM1'] , "CEM2" => $row['CEM2'], "CEM3" => $row['CEM3'], "FCRPt" => $row['FCRPt'], "FCRM1" => $row['FCRM1'] ,"FCRM2" => $row['FCRM2'],"AIMPt" => $row['AIMPt'],"AIMScore" => $row['AIMScore'],"AIMCnt" => $row['AIMCnt'],"ProdPt" => $row['ProdPt'],"CET1" => $row['CET1'] ,"CET2" => $row['CET2'],"CET3" => $row['CET3'],"FCRT1" => $row['FCRT1'],"FCRT2" => $row['FCRT2'],"AYHT" => $row['AYHT'],"AYHPt" => $row['AYHPt'],"M_AYHT" => $row['M_AYHT'],"AYHM" => $row['AYHM'],"Total" => $row['Total'],"skill1" => $row['skill1'],"skill2" => $row['skill2'],"skill3" => $row['skill3'],"skill4" => $row['skill4'],"skill5" => $row['skill5'],"skill6" => $row['skill6'],"skill7" => $row['skill7'],"skill8" => $row['skill8'],"skill9" => $row['skill9'],"skill10" => $row['skill10'],"skill11" => $row['skill11'],"skill12" => $row['skill12'],"skill13" => $row['skill13'],"skill14" => $row['skill14'],"skill15" => $row['skill15'],"skill16" => $row['skill16'],"skill17" => $row['skill17'],"skill18" => $row['skill18'],"skill19" => $row['skill19'],"IncentiveMonth" => $row['IncentiveMonth']);  






              echo json_encode($output);



                            }

                      }
         }


        ?>

未损坏的SyntaxError说: JSON中位于JSON.parse()位置2的意外标记

这意味着url:'GetAllData.php' 很可能返回一个PHP错误。这可能是数据库、PHP更新、缺少函数等…当我的PHP提要格式错误时,我会看到相同的错误


QED:检查website.com/GetAllData.php的结果,看看它们是否是正确的JSON。

那么你的
数据必须不是正确的JSON格式。发布它?我怀疑你收到了一条基于HTML的错误消息。尝试
警报
ing或
控制台。在尝试处理
数据之前记录
并发布开始如果我做控制台日志,它会给我“尝试获取非对象的属性'num_rows'”这通常意味着我的查询有问题。我没有发现任何问题?它与另一台计算机上使用的代码完全相同。我只是复制所有文件并传输它们,以查看是否修复了任何问题。我不确定为什么在一台计算机上每件事都能完美地工作,但在这台计算机上它会给我这些错误。我还还添加了php方面的内容。在StackOverflow上发布类似问题之前,您需要检查mysqli错误。这是代码调试的第一步也是最基本的一步。
$\u POST['Fullname']
value
Sean O'Connor
?他是个恶魔!我可以建议你使用mysqli准备好的带有占位符的语句吗?我回到另一台计算机,那里一切都很好。我只是将我所有的文件从那台计算机传输到这台计算机,然后重新开始。希望这样可以。我的意思是如果它在那里工作的话那么它肯定是正确的JSON,因为某些原因,它在这台计算机上不工作。数据库确实更新了,但应该不会有太大的影响。只有日期更改了。你是对的。我的查询有问题。我仍然不知道具体是什么,所以我删除了它,并重新编写了它。它当前加载正确。谢谢您的帮助。@Malsum因为这个答案并没有解决您的问题,所以您不恰当地授予了绿色大勾号。您可以随时删除它。这个答案提供了有关如何调查的线索,但它不是一个答案——它应该是一个评论。如果您删除绿色勾号,那么这个帖子可以得到适当的处理在审核队列中。答案确实解决了我的问题。尽管这应该是一个评论,他回答了我想知道的。“为什么我会出现这个错误?”差不多。他说最有可能返回的是PHP错误。最后,自从我切换计算机后,出现了一个名为Total的专栏,json抓住了这个专栏,变得疯狂。我重新命名了这个专栏,它修复了它。他引导我朝着正确的方向解决了我的问题。现在已经修复了。