duanmei1922 2018-05-12 02:53
浏览 392

“Unhandled Rejection(SyntaxError):位于0的JSON中的意外标记h”,带有response.json()

I simply want the php file to "echo $string = 'hello world';" on the html page of my ReactJS app.

But I get this error from my Browser (Google Chrome):

"Unhandled Rejection (SyntaxError): Unexpected token h in JSON at position 0"

Indicating that this is the line causing the issue:

.then((response) => response.json()

My JavaScript:

import React, { Component } from 'react'
import './App.css'


class App extends Component {

    componentDidMount(){

        fetch('http://localhost/finaldemo.php')
        .then((response) => response.json())
        .then((responseJson) => {
            console.log(responseJson)
        })
    }


    render () {
        return (
            <div>
            <p> HELLO </p>
            </div>
        );
    }   
}
export default App;

My PHP:

<?php header('Access-Control-Allow-Origin: http://localhost:3000');?>
<?php
    echo $string = 'hello world';
?>

Where is the problem?

Thanks in advance!

  • 写回答

2条回答 默认 最新

  • dongyan1993 2018-05-12 03:01
    关注

    response.json() expects the response from fetch to be in JSON format. which it will then automatically put in JSON.parse to convert it to a javascript object.

    your 'hello world' is just text and not a JSON. you can use response.text() and then it will expect a text.

    Or you can have the PHP send an actual JSON like '{"message":"hello world"}'

    评论

报告相同问题?

悬赏问题

  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 matlab有关常微分方程的问题求解决
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考