gpt4 book ai didi

javascript - jQuery 中的 JSON 每个

转载 作者:行者123 更新时间:2023-11-28 20:04:12 25 4
gpt4 key购买 nike

我的 JS 技能很差,我正在尝试从教程中将这个东西组合在一起。话虽如此,我不明白为什么这不起作用。

如何在每个循环中传递和引用 JSON 对象?

<script type="text/javascript">

var jsonData = '["{ staffid :41, firstname :Joe, lastname :Blow}", "{ staffid :42, firstname :Lucy, lastname :Goosey}"]';
var jsonParsed = JSON.parse(jsonData);

jQuery(document).ready(function(){
jQuery.each(jsonParsed, function(index, value){
jQuery.ajax({
type:'get',
async:false,
url: 'genpdf.php?staffid=' + value.staffid,
success: function (data) {
$("#status").append("<li>Successfully generated PDF for " + value.firstname + " " + value.lastname + " (StaffID: " + value.staffid + ")</li>");
},
error: function (xhr, textStatus, errorThrown){
$("#status").append("<li>PDF genetration failed for " + value.firstname + " " + value.lastname + " (StaffID: " + value.staffid + ") with status (" + textStatus + ") and error (" + errorThrown + ")</li>");
}
})
});

最佳答案

var jsonData = '["{ staffid :41, firstname :Joe, lastname :Blow}", "{ staffid :42, firstname :Lucy, lastname :Goosey}"]'

此 JSON 字符串不包含您认为的内容。解析时,您将拥有一个包含 2 个对象的数组。如果您想要一个对象数组,它应该如下所示:

var jsonData = '[{"staffid": 41, "firstname": "Joe", "lastname": "Blow"}, {"staffid": 42, "firstname": "Lucy", "lastname": "Goosey"}]'

当您解析它时,它应该按您的预期工作。

另外,为什么这里有一个 JSON 字符串?为什么不使用 JavaScript 数组/对象文字。

var data = [{staffid: 41, firstname: "Joe", lastname: "Blow"}, {staffid: 42, firstname: "Lucy", lastname: "Goosey"}];

附注我强烈建议不要使用async:false。这将使浏览器锁定,直到 AJAX 调用完成。在完成之前,您将无法与页面(也可能是浏览器)进行交互。这根本不是很好的用户体验。

关于javascript - jQuery 中的 JSON 每个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21118120/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com