JSONP打印所有数据(JSONP print all data)

编程入门 行业动态 更新时间:2024-10-24 08:30:22
JSONP打印所有数据(JSONP print all data)

所以我遇到了JSONP的问题。 我终于设法将我的JSONP数据加载到我的html文件中,但我似乎无法打印所有数据。 我已经尝试了for循环和$ .each,但没有成功。

php文件中的JSONP

<?php echo $_GET["callback"] ?> ( { "expo":"pit", "datum":"05.06.2011 - 05.06.2016", "img":"images/pit_home.jpg", "link":"indexpit.html" }, { "expo":"Space Odessy 2.0", "datum":"17.02 - 19.05.2013", "img":"images/so_home.jpg", "link":"indexso.html" } );

用于调用JSONP的脚本

<script type="text/javascript"> $.ajax({ type: 'GET', jsonpCallback: 'jsonCallback', contentType: 'application/json', dataType: 'jsonp', url: 'http://mllsdemode.be/Ex-cache/home.php', success: function(json) { for (var key in json) { var el = document.getElementById("home"); el.innerHTML = "<li><a href=" + json.link + " data-ajax='false'><img src=" + json.img + "><div class='dsc'>" + json.expo + "<br><em>" + json.datum + "</em></div></a></li>"; } }, error: function() { alert("Error reading jsonP file"); } }); </script>

任何人都知道我应该怎么做才能打印所有信息? 此时我只获取坑的数据,而不是Space Odessy 2.0的数据。

So I have a problem with JSONP. I finally managed to load my JSONP data into my html file, but I can't seem to print all the data. I already tried the for loop and $.each, but no succes.

JSONP in php file

<?php echo $_GET["callback"] ?> ( { "expo":"pit", "datum":"05.06.2011 - 05.06.2016", "img":"images/pit_home.jpg", "link":"indexpit.html" }, { "expo":"Space Odessy 2.0", "datum":"17.02 - 19.05.2013", "img":"images/so_home.jpg", "link":"indexso.html" } );

Script for calling the JSONP

<script type="text/javascript"> $.ajax({ type: 'GET', jsonpCallback: 'jsonCallback', contentType: 'application/json', dataType: 'jsonp', url: 'http://mllsdemode.be/Ex-cache/home.php', success: function(json) { for (var key in json) { var el = document.getElementById("home"); el.innerHTML = "<li><a href=" + json.link + " data-ajax='false'><img src=" + json.img + "><div class='dsc'>" + json.expo + "<br><em>" + json.datum + "</em></div></a></li>"; } }, error: function() { alert("Error reading jsonP file"); } }); </script>

Anyone know what I should do to print all the info? At this moment I only get the data for pit, not the data for Space Odessy 2.0.

最满意答案

The JSONP should be: <?php echo $_GET["callback"] ?> ( [ { "expo":"pit", "datum":"05.06.2011 - 05.06.2016", "img":"images/pit_home.jpg", "link":"indexpit.html" }, { "expo":"Space Odessy 2.0", "datum":"17.02 - 19.05.2013", "img":"images/so_home.jpg", "link":"indexso.html" } ] );

你错过了数组周围的[] ,所以你将两个参数传递给回调函数而不是一个数组。

在那之后,你的循环是错误的。 它正在处理单个对象,而不是数组,并且每次都替换home内部HTML而不是追加。

success: function(json) { var $home = $("#home"); $home.empty(); $.each(json, function(i, el) { $home.append("<li><a href=" + el.link + " data-ajax='false'><img src=" + el.img + "><div class='dsc'>" + el.expo + "<br><em>" + el.datum + "</em></div></a></li>"); }); } The JSONP should be: <?php echo $_GET["callback"] ?> ( [ { "expo":"pit", "datum":"05.06.2011 - 05.06.2016", "img":"images/pit_home.jpg", "link":"indexpit.html" }, { "expo":"Space Odessy 2.0", "datum":"17.02 - 19.05.2013", "img":"images/so_home.jpg", "link":"indexso.html" } ] );

You were missing the [] around the array, so you were passing two arguments to the callback function instead of one array.

After that, your loop is wrong. It's processing a single object, not an array, and replacing the home inner HTML each time instead of appending.

success: function(json) { var $home = $("#home"); $home.empty(); $.each(json, function(i, el) { $home.append("<li><a href=" + el.link + " data-ajax='false'><img src=" + el.img + "><div class='dsc'>" + el.expo + "<br><em>" + el.datum + "</em></div></a></li>"); }); }

更多推荐

本文发布于:2023-07-16 07:30:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1125448.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:数据   JSONP   data   print

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!