javascript - 使用 PHP/JS 将 API 作为对象返回
问题描述
我将 PHP 请求作为数组返回:
JS:
$('#btnRun1').click(function() {
$.ajax({
url: "source/php/getCityDetails.php",
type: 'POST',
dataType: 'json',
data: {
q: $('#selCity').val()
},
success: function(result) {
console.log(JSON.stringify(result));
if (result.status.name == "ok") {
$('#txtCityName').html(result['data'][0]['toponymName']);
$('#txtLat').html(result['data'][0]['lat']);
$('#txtLong').html(result['data'][0]['lng']);
$('#txtId').html(result['data'][0]['Id']);
}
},
error: function(jqXHR, textStatus, errorThrown) {
// TBC
}
});
});
PHP:
<?php
ini_set('display_errors', 'On');
error_reporting(E_ALL);
$executionStartTime = microtime(true);
$url='http://covered/searchJSON?formatted=true&q=' . $_REQUEST['q'] . '&maxRows=1&lang=en&username=covered';
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL,$url);
$result=curl_exec($ch);
curl_close($ch);
$decode = json_decode($result,true);
$output['status']['code'] = "200";
$output['status']['name'] = "ok";
$output['status']['description'] = "success";
$output['status']['returnedIn'] = intval((microtime(true) - $executionStartTime) * 1000) . " ms";
$output['data'] = $decode['covered'];
header('Content-Type: application/json; charset=UTF-8');
echo json_encode($output);
?>
这按预期工作,接受请求并将其发布到 HTML。
我需要对作为对象而不是数组返回的另一个 API 请求执行相同的操作。我不知道如何重新编码这些 '$('#txtCityName').html(result['data'][0]['toponymName']);' 这样做。
有没有人可以帮助或指出我可以弄清楚的方向?我在 Stackoverflow 或 Google 上找不到任何我可以理解或实施的解决方案。
编辑:添加示例
解决方案
感谢 AbraCadaver!
改变:
$('#txtCityName').html(result['data'][0]['toponymName']);
至:
$('#txtCityName').html(result.data.toponymName);
正是我要返回的对象。
推荐阅读
- nginx - Strapi/Nginx - Strapi 路由在生产中不起作用
- machine-learning - sklearn中NMF(非负矩阵分解)中的n_components是什么?
- django - 了解 Django 中 views.pyfile 中 HttpResponseRedirect 的“参数”
- python - 如何在一个情节中组合两个字典?
- ruby-on-rails - Rails 通过组合字段自定义连接
- java - For Loop 不会循环 Buttons 数组以使其不可见,它只会隐藏列表中的第一个 - Android Studio Java
- exchange-server - 在免责声明中包含发件人地址(收到的邮件)
- c# - 路径模式错误之前是否有前导“/”?
- python-3.x - Tensorflow 到 Tensorflow-lite 的转换
- javascript - Javascript onclick 事件监听器仅在某些时候有效