【发布时间】:2021-06-29 18:19:59
【问题描述】:
当我使用非常简单的 JSON 请求时出现错误。
这是带有数据的 php:
<?php
header('Content-Type: application/json; charset=utf-8');
$riqueza = array(
"nombre" => "Agustin", "patrimonio" => "US$ 400,000,000") ;
echo json_encode($riqueza, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES | JSON_NUMERIC_CHECK | JSON_ERROR_STATE_MISMATCH | JSON_ERROR_CTRL_CHAR |
JSON_ERROR_SYNTAX | JSON_ERROR_UTF8 | JSON_ERROR_UNSUPPORTED_TYPE | JSON_FORCE_OBJECT | JSON_ERROR_INF_OR_NAN | JSON_PRETTY_PRINT) ;
?>
这是 JavaScript 的代码:
const AJAX = new XMLHttpRequest;
AJAX.open("GET", "database.php");
AJAX.onload = function() {
if (AJAX.status === 200 && AJAX.readyState === 4) {
const miRiqueza = JSON.parse(this.responseText) ;
document.getElementById("minombre").innerHTML = miRiqueza["nombre"] ;
document.getElementById("mipatrimonio").innerHTML = miRiqueza["patrimonio"] ;
}
}
AJAX.send() ;
为了更加清晰,HTML 代码:
<!DOCTYPE html>
<html lang="en">
<script src="interface.js" defer></script>
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<table>
<tr>
<th id="minombre"> </th>
<th id="mipatrimonio"> </th>
</tr>
</table>
</body>
</html>
很多人都有同样的错误,但似乎没有一个令人信服的答案;数组类型没有任何可能导致错误的问题,即便如此,我在 php 编码上放置了大量常量,以查看它们是否发现任何错误。但是标题和 GET 请求被接收,没有丝毫问题:看起来我的解析真的很顽固,无法将任何数据转换为对象。问题是什么?如果没有任何明显的问题,我可以使用 $.ajax 或 jQuery 来绕过麻烦吗?会有影响吗?
【问题讨论】:
-
不知道该怎么做,抱歉。
标签: javascript php json