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 后置过滤器中添加多个元键和值

$.ajax 从 php 获取 json_encode($arr) 之后的对象,但是如何在 jQuery 中获取键和值?

如何从数组中的对象添加新的键和值?

在我的屏幕中显示动态填充对象的每个键和值 - React

如何在 ngFor 中显示一个简单 json 的所有键和值? [复制]

显示 % forloop% 的键和值的 Django 模板:如何遍历模板中的字典?