第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

JSON.parse() 不適用于變量類型字符串,但如果直接使用,則可以使用其內(nèi)容

JSON.parse() 不適用于變量類型字符串,但如果直接使用,則可以使用其內(nèi)容

PHP
犯罪嫌疑人X 2021-06-17 15:32:00
我使用一個(gè)簡單的代碼從 php 頁面獲取一個(gè)字符串,我多次使用該代碼從 php 文件中獲取字符串響應(yīng)。這是我第一次嘗試將此結(jié)果轉(zhuǎn)換為 json 對象(或數(shù)組)。當(dāng)我在響應(yīng)上使用 JSON.parse 時(shí),我收到如下所示的錯(cuò)誤。如果我作為 JSON.parse() 的參數(shù)傳遞我已控制臺(tái)日志的文本(即在傳遞給 javascript 時(shí)從控制臺(tái)復(fù)制),它可以完美地工作。    xmlhttp=new XMLHttpRequest();  } else {    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");  }  xmlhttp.onreadystatechange=function() {    if (this.readyState==4 && this.status==200) {        var result = this.responseText;        resultsObj = JSON.parse(result);  }php代碼如下:<?phpif (!session_id()) {    @session_start();}header('Content-Type: text/json');require 'controlleur/connexionDB.php';$sql = "SELECT * FROM depart";$result = $conn->query($sql);$liste .= "[";$compteur = 0;while ($row = $result->fetch()) {    if ($compteur != 0) {        $liste .= ", ";    }    $liste .= "{ \"idDepart\" : \"$row->idDepart\", \"idCircuit\" : \"$row->idCircuit\", \"dateDebut\" : \"$row->dateDebut\", \"nbPlaces\" : \"$row->nbPlaces\", \"prix\" : \"$row->prix\", \"titrePromotion\" : \"$row->titrePromotion\", \"rabais\" : \"$row->rabais\" }";    $compteur++;}$liste .= "]";$reponse = $liste;echo $reponse;我收到此錯(cuò)誤:SyntaxError: JSON.parse: 第 1 行第 1 列的意外字符控制臺(tái)中變量“result”的結(jié)果是這樣的:'[{ "idDepart" : "1", "idCircuit" : "5", "dateDebut" : "2019-06-02", "nbPlaces" : "30", "prix" : "4000", "titrePromotion" : "vfv", "rabais" : "10" }, { "idDepart" : "2", "idCircuit" : "5", "dateDebut" : "2019-06-10", "nbPlaces" : "30", "prix" : "6000", "titrePromotion" : "ded", "rabais" : "4" }, { "idDepart" : "3", "idCircuit" : "5", "dateDebut" : "2019-07-02", "nbPlaces" : "30", "prix" : "7000", "titrePromotion" : "ded", "rabais" : "6" }]'
查看完整描述

3 回答

?
茅侃侃

TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超21個(gè)贊

您不應(yīng)該嘗試通過操作字符串來創(chuàng)建 json,而是使用內(nèi)部json_encode方法。


$result = $conn->query($sql);

$response = [];

while ($row = $result->fetch()) {

    $response[] = [

        'idDepart' => $row->idDepart,

        'idCircuit' => $row->idCircuit,

        'dateDebut' => $row->dateDebut,

        'nbPlaces' => $row->nbPlaces,

        'prix' => $row->prix,

        'titrePromotion' => $row->titrePromotion,

        'rabais' => $row->rabais

    ];

}


echo json_encode($response);

像這樣,你 100% 肯定有:

  • 如果您的輸入無法編碼,則出現(xiàn) PHP 錯(cuò)誤。

  • 顯示有效的 json。

- - 編輯 - -

我看到你用法語編碼,注意特殊字符(如é à ...)。你應(yīng)該到處都有 UTF-8 編碼。

  • 你的 php.ini

  • 你的 PDO 連接

  • 您的數(shù)據(jù)庫字符集、表和字段。

    $dbHandle = new PDO("mysql:host=$dbHost;dbname=$dbName;charset=utf-8", $dbUser, $dbPass); $dbHandle->exec("SET CHARACTER SET utf8");


查看完整回答
反對 回復(fù) 2021-06-25
?
BIG陽

TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個(gè)贊

您可以嘗試將 php 腳本簡化為這個(gè)嗎?


<?php

if (!session_id()) {

    @session_start();

}


header('Content-Type: application/json');

require 'controlleur/connexionDB.php';

$sql = "SELECT * FROM depart";


$result = $conn->query($sql);


$liste = array();

while($row = $result->fetch()){

  $list[] = [

    "idDepart" => $row->idDepart,

    "idCircuit" => $row->idCircuit,

    "dateDebut" => $row->dateDebut, 

    "nbPlaces" => $row->nbPlaces, 

    "prix" => $row->prix, 

    "titrePromotion" => $row->titrePromotion, 

    "rabais" => $row->rabais

  ];

}


echo json_encode($liste);

我使用json_encode()而不是手動(dòng)編寫字符串,我認(rèn)為這可以更好地避免拼寫錯(cuò)誤。


查看完整回答
反對 回復(fù) 2021-06-25
?
冉冉說

TA貢獻(xiàn)1877條經(jīng)驗(yàn) 獲得超1個(gè)贊

確保您在 php 腳本上正確設(shè)置了標(biāo)題

<?php header('Content-Type: text/json');


查看完整回答
反對 回復(fù) 2021-06-25
  • 3 回答
  • 0 關(guān)注
  • 253 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)