当前位置: 首页 > 知识库问答 >
问题:

根据json中的数据量在ajax成功函数中动态创建多个div

司空海荣
2023-03-14

我希望在ajaxsuccess中动态创建div元素,每个div元素的id都是响应数据中的“id”!有办法吗?谁能帮帮我吗!到目前为止,我还附上了一支在我作品下方剪下的密码笔。

https://codepen.io/anon/pen/JxXvbb?editors=1111#anon-登录

  window.onload = function() {
    $.ajax({
            type: "get", 
            dataType: 'jsonp', 
           url:"https://api.themoviedb.org/3/movie/now_playing?api_key=05b5e7574eac47fdf8f2ac12831493c6&language=en-US&page=1", //url to send to 
            contentType: "application/json; charset=utf-8",
            success: function (msg) { 
                // console.log(msg);

                   for(var i = 0; i < msg.results.length; i++)
   {
let idx=msg.results[i].id
let titlex=msg.results[i].title;
let imagesrcx=msg.results[i].poster_path;
   console.log("ID: " +idx); 
   console.log("title: "+titlex);
   console.log("image src: "+imagesrcx);

   let new_div ='<div><div id="'+ idx +'">'+'</div></div>';

            $("main").append(new_div);
   //console.log(msg);
   }

            }

});

};

共有3个答案

印劲
2023-03-14
#main>div{
  display: inline-block;
  width: 33%;
  margin-bottom: 10px;
}

window.onload = function() {
    $.ajax({
            type: "get", 
            dataType: 'jsonp', 
           url:"https://api.themoviedb.org/3/movie/now_playing?api_key=05b5e7574eac47fdf8f2ac12831493c6&language=en-US&page=1", //url to send to 
            contentType: "application/json; charset=utf-8",
            success: function (msg) { 
                   for(var i = 0; i < msg.results.length; i++)
   {
                     // console.log(msg);


let idx=msg.results[i].id
let titlex=msg.results[i].title;
let imagesrcx=msg.results[i].poster_path;
     console.log(imagesrcx);
$("#main").append(`
<div style='background:#000;' id='`+idx+`'>
  <img src='`+imagesrcx+`' alt='`+titlex+`'>
</div>
`);
   //console.log(msg);
   }

            }

});

};
索令
2023-03-14

如果您使用的是jquery,则在成功回调中

msg.results.forEach((e)=>{
    const div = $(`<div id=${e.id}>${e.title}</div>`);
    $("#main").append(div);
});
胡厉刚
2023-03-14

为什么不直接使用document.createElement呢?似乎最简单的方法是动态创建和设置id,这里不需要jQuery。

   for(var i = 0; i < msg.results.length; i++){
        const div = document.createElement('div');
        div.id = msg.results[i].id;
        $("#main").append(div);
    }

现在可以将其与jQuery一起使用。如果要向其中添加文本,只需设置innerText

这里是完整的代码:window.onload=function(){

  $.ajax({
            type: "get", 
            dataType: 'jsonp', 
           url:"https://api.themoviedb.org/3/movie/now_playing?api_key=05b5e7574eac47fdf8f2ac12831493c6&language=en-US&page=1", //url to send to 
            contentType: "application/json; charset=utf-8",
            success: function (msg) { 
                // console.log(msg);

              for(var i = 0; i < msg.results.length; i++) {
                 let idx=msg.results[i].id
                 let titlex=msg.results[i].title;
                 let imagesrcx=msg.results[i].poster_path;
                 console.log("ID: " +idx); 
                 console.log("title: "+titlex);
                 console.log("image src: "+imagesrcx);

                 const new_div = document.createElement('div');
                 new_div.id = idx;
                 new_div.innerText = titlex;

                $("#main").append(new_div);
              }
            }
    });
};

工作突击;在此处输入链接描述

编辑:我还意识到您忘记添加“#”来选择主div,这可能会有所帮助。

 类似资料:
  • 问题内容: 我正在尝试使用使用mysql脚本检索的mysql数据在页面中创建一个简单的图表 我不明白如何将ajax调用与图表所需的数据集成在一起。我对各种图表插件的了解不足以使我的生活变得轻松,并且目前正在试用highchart。 我的PHP脚本返回以下json: 我的图表脚本是: 我进行ajax调用的函数: 但是此刻什么也没有显示。 我不确定如何有效地进行ajax调用并将其集成到图表函数中。我基

  • 我有两个熊猫数据框 步骤1:根据df1中唯一的“val”在df2中创建列,如下所示: 步骤2:对于flag=1的行,AA_new将计算为var1(来自df2)*组“A”和val“AA”的df1的'cal1'值*组“A”和val“AA”的df1的'cal2'值,类似地,AB_new将计算为var1(来自df2)*组“A”和val“AB”的df1的'cal1'值*组“A”和val“AB”的df1的'c

  • 我从PHP页面收到一个Json输出,如下所示 null null 我如何循环结果,这样我就可以访问每个元素了?我已经尝试了类似下面的东西,但这似乎不起作用。 null null

  • 问题内容: 我正在构建一个从外部源获取运行时JSON消息的应用程序。 我对消息文本的结构一无所知。 我想获取此JSON文本,将其呈现到树视图(或等效的UI),在我刚刚动态创建的树视图中编辑此JSON,然后将文本发送回源。 我真的不知道从哪里开始。有什么建议吗? 问题答案: 注意:此示例使用NewtonSoft Json。右键单击解决方案,然后单击管理NuGet软件包以安装参考。

  • 问题内容: 我正在使用jQuery $ .ajax()函数。我已经将其放入父函数中,该函数将一些值传递给ajax函数。我想做的是有一个用户定义的回调函数,该函数获取从ajax成功函数传入的数据参数。 这是我当时想的可行方法,但并非如此: 然后,我希望能够调用该函数,并传入我的自定义函数,以便可以使用该函数内部的成功函数数据: 我希望这与以下内容相同: 问题答案: 对我来说很好用:

  • 问题内容: 请考虑以下javascript: URL返回一个.csv文件,但是我指定了数据类型,因为这是一个跨域的ajax请求。没有该参数,我会收到“不允许原点”错误。 由于我指定了数据类型,因此.csv文件不是JSON格式,所以ajax函数会引发错误。但是在开发控制台中,我可以看到浏览器确实收到了一个连贯的.csv文件。因此,我知道我已经成功接收了CSV文件。我认为应该可以,但是我不确定如何正确