Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jQuery创建一个由JSON的键和值填充的UL_Javascript_Jquery_Html_Json - Fatal编程技术网

Javascript 使用jQuery创建一个由JSON的键和值填充的UL

Javascript 使用jQuery创建一个由JSON的键和值填充的UL,javascript,jquery,html,json,Javascript,Jquery,Html,Json,我有的是这个 HTML <div id="catcher"></div> 我想做一个像这样的UL 项目 项目名称 项目1 项目名称 等等。 我现在得到的是对象值的每个字母和键的数字。相反,我希望它们都等于字符串 试试下面的代码,下面的代码示例仅用于循环json属性 $。每个(响应、功能(键、值){ 警报(键+”:“+值) })) jQuery.ajax({ url:“./ajax.html”, async:true, 成功:功能(响应){ var ol=“”;

我有的是这个

HTML

<div id="catcher"></div>
我想做一个像这样的UL

  • 项目
    • 项目名称
  • 项目1
    • 项目名称
  • 等等。
    我现在得到的是对象值的每个字母和键的数字。相反,我希望它们都等于字符串

    试试下面的代码,下面的代码示例仅用于循环json属性

    $。每个(响应、功能(键、值){

    警报(键+”:“+值)

    }))

    jQuery.ajax({
    url:“./ajax.html”,
    async:true,
    成功:功能(响应){
    var ol=“”;
    for(var键响应){
    ol+=“
  • ”+key+”
      “+response[key]+”
    “+”
  • ”; } ol+=”; jQuery(“#catcher”).append(ol); } });
    您缺少外部有序列表。如果您首先附加该结构,并将循环附加更改为具有嵌套的
    ,则应获得您要查找的结构:

    var数据={
    “项目”:“项目名称”,
    “项目1”:“项目名称”,
    “项目2”:“项目名称”,
    “项目3”:“项目名称”,
    “项目4”:“项目名称”
    }
    $(“#catcher”)。追加(“”);
    for(var输入数据){
    $(“#catcher ol”).append(“
  • ”+key+”
    • “+data[key]+”
    ”); }

  • 您应该尝试将
    console.log(response)
    添加到成功回调中。它可能会显示
    response
    是一个字符串,而不是一个对象


    在本例中,您可以向
    jQuery.ajax(…)
    调用中添加
    dataType:'json'
    ,如下所述:

    尝试此代码。看看是否有帮助:

       jQuery.ajax({url:'./ajax.html', async: true, success: function(response){
    
                            var addcode=" ";
                            var i=1;
    
                            $.each(response, function(key,value) {
    
                                    addcode +=  '<ul>' + (i++)  + '. ' + key;
                                    addcode += '<li>' + value + '</li>';
                                    addcode += '</ul>';
    
                            });
                            jQuery('#catcher').html(addcode);
        }})    
    
    jQuery.ajax({url:'./ajax.html',异步:true,成功:函数(响应){
    var addcode=“”;
    var i=1;
    $。每个(响应、功能(键、值){
    addcode+='
      '+(i++)+'.+键; addcode+='
    • '+value+'
    • '; addcode+='
    '; }); jQuery('#catcher').html(addcode); }})
    您能发布当前输出的HTML吗?我非常喜欢这个解决方案,但我认为JSON有问题。我没有得到键的字符串,而是得到一系列数字1-112,这是所有键组合后字符串中的字符数。我也只得到值字符串中的一个字符作为一个项,而不是整个字符串。想法?@MaxwellSands听起来JSON仍然是一个未解析的字符串。gregfqt可能就是你要找的。
    {
        "Item":"Item Name",
        "Item 1":"Item Name",
        "Item 2":"Item Name",
        "Item 3":"Item Name",
        "Item 4":"Item Name"
    }
    
        jQuery.ajax({
          url: './ajax.html',
          async: true,
          success: function(response) {
            var ol = "<ol>";
            for (var key in response) {
              ol += "<li>" + key + "<ul><li>" + response[key] + "</li></ul>" + "</li>";
            }
            ol += "<ol>";
            jQuery('#catcher').append(ol);
          }
        });
    
       jQuery.ajax({url:'./ajax.html', async: true, success: function(response){
    
                            var addcode=" ";
                            var i=1;
    
                            $.each(response, function(key,value) {
    
                                    addcode +=  '<ul>' + (i++)  + '. ' + key;
                                    addcode += '<li>' + value + '</li>';
                                    addcode += '</ul>';
    
                            });
                            jQuery('#catcher').html(addcode);
        }})