【发布时间】:2018-01-22 16:31:30
【问题描述】:
试图从 php 文件中获取我的 json 数据并显示。
到目前为止,我能够使用 ajax 请求数据并将数据记录到控制台。 (至少有一件事似乎在起作用)。
然后我尝试使用回调,以便我的脚本在执行显示函数之前等待数据。我一步一步地按照教程进行操作,但我一定是做错了什么,因为在检查器中它会抛出我的jsonData 未定义的错误。
然后我尝试显示数据,但如果回调不正常工作,它将无法工作。
我将尝试解释我的所作所为:
1。 我在运行我的脚本之前等待文档加载
$(document).ready(scriptWrapper);
2。 我用一个函数把整个事情包起来
function scriptWrapper(){
displayJson();
}
3。 我用我的回调参数启动函数
function requestJson(_callback){
4。 使用 ajax 从我的 php 文件中请求我的数据
$.ajax({
url: "/test/senate.php",
success: result,
});
5。 将数据结果发送到console.log
function result(jsonData){
console.log (jsonData);
}
6。 这标志着回调的结束
_callback();
7。 启动displayJson函数
function displayJson(){
8。
以showData() 函数作为参数执行requestJson(),我认为这意味着showData 将在执行前等待回调。
requestJson(showData());
9。 这是将在我的输出 div 中显示 json 数据的函数。
function showData(){
$(".output").append(jsonData);
}
任何见解将不胜感激!
我这里有现场版congress.digitango.com/test/results.php
完整代码为:
<div class="output"></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script type="text/javascript">
function scriptWrapper(){
displayJson();
}
function requestJson(_callback){
$.ajax({
url: "/test/senate.php",
success: result,
});
function result(jsonData){
console.log (jsonData);
}
_callback();
}
function displayJson(){
requestJson(showData());
function showData(){
$(".output").append(jsonData);
}
}
$(document).ready(scriptWrapper);
</script>
【问题讨论】:
标签: javascript json callback