javascript - Fetch API 获取 php 内容而不是发出请求
问题描述
我有一个 React 组件,它使用 js fetch API 从 PHP 文件中获取数据。问题是返回的承诺包含 PHP 文件的内容,而不是我预期的 JSON。当我尝试使用.json
承诺时,它给了我一个错误,我认为这是由获取 PHP 文件的内容引起的。
Uncaught (in promise) SyntaxError: Unexpected token < in JSON at position 0
我已经尝试过header('Content-Type')
两边(js和php)。
下面是我的代码,如果您能给我一些帮助,我将不胜感激,谢谢。
import React, {Component} from 'react';
const API = '../api/rest/balances.php';
export class Balance extends Component {
constructor(props) {
super(props);
this.state = {
value: '0.00000000'
}
}
componentDidMount() {
fetch(API)
.then(response => console.log(response.json()))
}
render() {
return (
<span className="balance">{this.state.value}</span>
)
}
}
PHP
<?php
use TradingBot\Connections\Factory;
header("Content-Type: application/json");
session_start();
$jsonReturn = new stdClass();
if (isset($_SESSION['usuario'])) {
require_once $_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'vendor' . DIRECTORY_SEPARATOR . 'autoload.php';
//Inclui os arquivos necessários
//Cria um objeto conexão com o banco para o usuario
$users = Factory::makeUsers();
//Pega as credenciais da API
$credentials = $users->GetCredentials($_SESSION['usuario']);
//Cria a conexão com a Binance
$api = new Binance\API($credentials->api_key, $credentials->api_secret);
//Tenta adquirir o balanço da conta
try {
$balances = $api->balances();
} catch (Exception $e) {
$jsonReturn->error = $e->getMessage();
exit();
}
//Filtra os resultados diferentes de zero
$available = array_filter($balances, function ($valor) {
return $valor['available'] > 0;
});
$jsonReturn->saldo = $available;
echo json_encode($jsonReturn);
exit();
} else {
$jsonReturn->error = "user not defined at session";
echo json_encode($jsonReturn);
exit();
}
?>
解决方案
怎么样
componentDidMount() {
fetch(API)
.then(response => response.json())
.then(response => console.log(response))
}
推荐阅读
- c - 为什么空闲 CPU 没有分配给 linux 中的进程?
- javascript - 如何在电子应用程序中设置 Windows 缩略图工具栏
- c# - VR的自动拍摄脚本?(更改脚本)
- c# - Xamarin 自动启动应用程序的问题
- android - 如何将我的 aar 发布到 bintray 并防止用户看到源?
- r - 如何在分组的ggplot中使用包含颜色名称的变量来分配颜色?
- python - python奇数或偶数函数中的问题。返回 True 不起作用
- python - 使用 cmd 模块中的 cmdloop 时允许其他线程打印到标准输出
- javascript - Lodash:_.has 检查返回 false 的键
- github - Github 站点未找到 404