javascript - jQuery 中的 JSON 每个

标签 javascript jquery json

我的 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/

相关文章:

javascript - checkValidity 更新 UI

javascript - 表单字段值不变

innerText 值的 jQuery 选择器语法

java - jOOQ 和 PostgreSQL : mapping nested json object extracted from complex jsonb into custom type

Javascript OnScroll 性能比较

javascript - 即使在使用 AJAX 进行 POST 后值不是 "0",PHP 也会回显 JavaScript 值 "0"

javascript - 解析javascript获取页面标题的html结果

javascript - 帮助 JQuery 回调

c# - 有没有办法从 asp .net web 方法而不是 JSON 格式返回 ISO 格式的 DateTime?

javascript - nvd3 无法正确计算最大 y 值