Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript SyntaxError:JSON.parse位置0处的JSON中出现意外标记_Javascript_Php_Mysql_Ionic3 - Fatal编程技术网

Javascript SyntaxError:JSON.parse位置0处的JSON中出现意外标记

Javascript SyntaxError:JSON.parse位置0处的JSON中出现意外标记,javascript,php,mysql,ionic3,Javascript,Php,Mysql,Ionic3,在本教程的帮助下,我用ionic创建了一个应用程序:一个学校程序 但当我想选择所有客户机时,会出现以下错误: SyntaxError:JSON中的意外标记getMessage;获取文本;。。。尝试json_encode$e->getMessageJSON中的意外标记

在本教程的帮助下,我用ionic创建了一个应用程序:一个学校程序

但当我想选择所有客户机时,会出现以下错误:

SyntaxError:JSON中的意外标记<位于JSON.parse的位置0处,在XMLHttp处…,文本

我的PHP脚本:

    <?php

   // Define database connection parameters
   $hn      = 'localhost';
   $un      = 'root';
   $pwd     = '';
   $db      = 'equida';
   $cs      = 'utf8';


   // Set up the PDO parameters
   $dsn     = "mysql:host=" . $hn . ";port=3306;dbname=" . $db . ";charset=" . $cs;
   $opt     = array(
                        PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
                        PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_OBJ,
                        PDO::ATTR_EMULATE_PREPARES   => false,
                       );
   // Create a PDO instance (connect to the database)
   $pdo     = new PDO($dsn, $un, $pwd, $opt);
   $data    = array();


   // Attempt to query database table and retrieve data
   try {
      $stmt     = $pdo->query('SELECT * FROM client');
      while($row  = $stmt->fetch(PDO::FETCH_OBJ))
      {
         // Assign each row of data to associative array
         $data[] = $row;
      }

      // Return data as JSON
      echo json_encode($data);
   }
   catch(PDOException $e)
   {
      echo $e->getMessage();
   }


?>
我的javascript:

import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import { HttpClient } from '@angular/common/http';

@Component({
  selector: 'page-lst-client',
  templateUrl: 'lst-client.html'
})
export class LstClientPage {
   /**
    * @name items
    * @type {Array}
    * @public
    * @description     Used to store returned PHP data
    */
   public items : Array<any> = [];

   constructor(public navCtrl: NavController,
               public http   : HttpClient)
   {

   }


   /*
    * Triggered when template view is about to be entered
    * Returns and parses the PHP data through the load() method
    *
    * @public
    * @method ionViewWillEnter
    * @return {None}
    */
   ionViewWillEnter() : void
   {
      this.load();
   }


   /*
    * Retrieve the JSON encoded data from the remote server
    * Using Angular's Http class and an Observable - then
    * assign this to the items array for rendering to the HTML template
    *
    * @public
    * @method load
    * @return {None}
    */
   load() : void
   {
      this.http
      .get('wequida/retrieve-client.php')
      .subscribe((data : any) =>
      {
         console.dir(data);
         this.items = data;
      },
      (error : any) =>
      {
         console.dir(error);
      });
   }


   /*
    * Allow navigation to the AddTechnologyPage for creating a new entry
    *
    * @public
    * @method addEntry
    * @return {None}
    */
   addEntry() : void
   {
      this.navCtrl.push('AddClientPage');
   }


   /*
    * Allow navigation to the AddTechnologyPage for amending an existing entry
    * (We supply the actual record to be amended, as this method's parameter,
    * to the AddTechnologyPage
    *
    * @public
    * @method viewEntry
    * @param param      {any}           Navigation data to send to the next page
    * @return {None}
    */
   viewEntry(param : any) : void
   {
      this.navCtrl.push('AddClientPage', param);
   }
}

这个JSON.parse代码在哪里?当我在react中开发时,这种情况一直在发生。我认为页面会生成html标记,而您的代码无法理解JSON。尝试添加出口;处理完成后,请确保脚本在之前或之后未生成任何html标记。@RaajNadar我不知道,我接受代码并尝试理解/适应我的情况,但我对Json一无所知:/n您可能从echo$e->getMessage;获取文本;。。。尝试json_encode$e->getMessageJSON中的意外标记<位于json的位置0。解析消息表明,您请求的url不返回json,而是返回html,您可能会返回错误页或类似的内容。在浏览器的开发人员工具中打开“网络”选项卡,然后执行请求数据的操作,并检查url是否正确以及从该url获得的响应。