AJAX调用在html div中显示api键和值
Posted
技术标签:
【中文标题】AJAX调用在html div中显示api键和值【英文标题】:AJAX call display api key and values in html div 【发布时间】:2015-10-19 00:59:33 【问题描述】:希望你能帮助我。
我试图弄清楚如何在我的 html 网页上将 api json 键和值数据显示为(格式化的 css)。 Ajax 调用连接到 nodejs 服务器并取回数据。 我在 console.log 上获得成功的 ajax 调用和输出,但在我的网页上返回 [object object]。
API 数据的结构是这样的
` “错误”:错误, “模型” : [ “key1”:“value1”, “key2”:“value2”, “key3”:“value3”, “key4”:“value4”, "key5": "value5", "key6": "value6", "key7": "value7", “key8”:“value8” , “key1”:“value1”, “key2”:“value2”, “key3”:“value3”, “key4”:“value4”, "key5": "value5", "key6": "value6", "key7": "value7", “key8”:“value8” ] `函数看起来像这样
` var _t = 这个; var modelUrl = "/searchModel"; (api key 已经通过了) this.searchModelEvent = 函数 (e) e.preventDefault(); var $m = $(这个); var _serial = $m.find(".serialNum").val(); var modelData = apikey: apikey,id: _serial ; modelData = JSON.stringify(modelData); 控制台.log(模型数据); $.ajax( 类型:'POST', 内容类型:'应用程序/json', 数据类型:'json', 数据:模型数据, 网址:模型网址, 成功:函数(数据) 如果(数据错误) _t.errorState(); 别的 console.log("成功!!@#!\n"); _t.loginModelState(数据); , ); ; this.loginModelState = 函数(数据) var _model = 数据; for (var _i in _model) var _output=""; if(_model[_i] instanceof Object) for(var _x in _model[_i]) console.log(_model[_i][_x]); _output+=""+_x+""+_model[_i][_x]; _输出+=""; $('div').html(_output); ;//结束`【问题讨论】:
_t
是什么,它从何而来?您甚至没有声明就使用它,更不用说将其分配给任何东西
对不起,它是一个全局变量,我已将“this”分配给它。 (这不是我所有的代码,只是相关的功能)。欢呼
别那样做,了解闭包
别抱歉 - 我的评论有点短 - 如果 _t 是“正确的”,那么这不是问题:p
【参考方案1】:
试试这个:
loginModelState = function (data, searchKey)
var output = "";
for(var i in data) // i = error; model
var submodel = data[i];
if(typeof submodel === "object") //submodel == "model"
for(var j in submodel) // Array
var hash = submodel[j];
for(var h in hash) // example : (h = key1): (hash[h] = value1) ...
if(searchKey) // only if you give searchKey as parameter
if(searchKey == h) // searchkey match
output += hash[h] + "<br>";
else
output += h + " " + hash[h] + "<br>";
$("body").html(output);
loginModelState(m); // output all
loginModelState(m, "key1") // output only if "key1" match
【讨论】:
谢谢你,你是个传奇。作品!你能告诉我你的代码以及它是如何工作的吗?我想我明白了,但只是想澄清一下。干杯。 我还想知道我会抓取/输出一个特定的值,比如找到“key5”并输出特定对象的“value5”,或者迭代并输出所有对象的每个 value5? 我添加了“searchKey”参数,现在你可以搜索特定的关键字或打印全部【参考方案2】:您好,请尝试一下,如有任何困惑或问题,请告诉我。
<script type="text/javascript">
$( document ).ready(function()
$.getJSON("http://Your .php", function(data)
$.each(data.model, function(index, item)
for (var a = 0; a < item.0.length; a++)
alert(item.0[a]);
;
)
);
);
</script>
如果您可以在您的网络服务中使用正确的元素获得此警报,那么请告诉我其他方式,将您的网络服务发送给我,我会得到您的准确输出。
【讨论】:
以上是关于AJAX调用在html div中显示api键和值的主要内容,如果未能解决你的问题,请参考以下文章
$.ajax 从 php 获取 json_encode($arr) 之后的对象,但是如何在 jQuery 中获取键和值?