javascript - "Unhandled Rejection (SyntaxError): Unexpected token h in JSON at position 0"与response.json()

标签 javascript php html json reactjs

我只是想让 php 文件“echo $string = 'hello world';”在我的 ReactJS 应用程序的 html 页面上。

但我从浏览器(Google Chrome)收到此错误:

“未处理的拒绝(语法错误):JSON 中位置 0 处出现意外的标记 h”

表明这是导致问题的行:

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

我的 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;

我的 PHP:

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

问题出在哪里?

提前致谢!

最佳答案

response.json() 期望 fetch 的响应采用 JSON 格式。然后它会自动将其放入 JSON.parse 中以将其转换为 javascript 对象。

你的“hello world”只是文本而不是 JSON。你可以使用response.text(),然后它会期待一个文本。

或者你可以让 PHP 发送一个实际的 JSON,如 '{"message":"hello world"}'

关于javascript - "Unhandled Rejection (SyntaxError): Unexpected token h in JSON at position 0"与response.json(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50302433/

相关文章:

php - PHP 的 opcache 何时重新解析文件?

javascript - 单击链接时从 div 添加/删除类

html - 在 CSS 中,如何获得左侧固定宽度的列,右侧表格使用其余宽度?

javascript - HTML 输入复选框始终返回 false

javascript - 如何使我的 JS 解决方案发挥作用?

javascript - JS 检查数值属性是否存在

javascript - 我可以告诉 IntelliJ (10.5) 不要警告未传递可选的 javascript 方法参数吗?

php - 无法在fullcalendar控件中显示json数据

javascript - Node.js & Express session 问题

php - 样式化 "order by desk"查询表