java - getJSON JavaScript 函数返回 undefined object

标签 java javascript jquery json

这是我的 JavaScript 代码:

// action when item file is clicked
$("li span.file").click(function(){

    // get the ID
    console.log($(this).attr('id'));

    $.getJSON('BomItemToJSON', function(data) {
        $.each(data, function(i, item) {
            var id = item.id;
            var description = item.description;

            formObject = document.forms['itemForm'];
            formObject.elements['itemId'].value = id;
            formObject.elements['itemDescription'].value = description;
        });
    });

});

这是我的servlet的一部分:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        utx.begin();

        BomHandling bh = new BomHandling(em, utx);

        BomItem item = bh.getBomItem(63788);
        Gson gson = new Gson();
        String json = gson.toJson(item);

        System.out.println("Json: " + json);

        response.setContentType("application/json");
        response.setCharacterEncoding("UTF-8");
        response.getWriter().write(json);
        utx.commit();
    }

它返回:

Json: {"itemId":63788,"modules":[],"deprecated":false,"partNumber":"SG-XPCIE8SAS-E-Z","description":"4 GB Memory Expansion (2 x 2GB) low-profile FBDIMMs, Gen 2, 1.8 V, for Sun SPARC Enterprise, RoHS 6. (For Factory Integration Only)","quantity":0,"unitPriceDollar":"$350.00","discount":"10%","totalDollar":"$0.00","itemClass":"Server","itemType":"HW","vendor":"Sun"}

从控制台日志我知道这个 servlet 被称为:

[09:22:11.633] GET http://localhost:8084/xxx/BomItemToJSON [HTTP/1.1 200 OK 80ms]

这是我的表单:

<div id="itemdetail">
    <form name="itemForm">
        ID: <input type="text" name="itemId" value="" size="100"></input>
        Description: <input type="text" name="itemDescription" value="" size="100"></input>
    </form>
</div>

如何将 JSON 对象中的 itemId 和描述插入到我的表单中?现在它始终是“未定义的”。

最佳答案

您不需要每个。您的 JSON 只是单个对象,而不是数组。

我认为你的代码应该是这样的:

// action when item file is clicked
$("li span.file").click(function(){

    // get the ID
    console.log($(this).attr('id'));

    $.getJSON('BomItemToJSON', function(data) {
        alert('entered getJSON()');
        var id = data.itemId;
        var description = data.description;

        alert('description: ' + description);

        formObject = document.forms['itemForm'];
        formObject.elements['itemId'].value = id;
        formObject.elements['itemDescription'].value = description;

        alert('done with javascript');
    });

});

关于java - getJSON JavaScript 函数返回 undefined object ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10204837/

相关文章:

java - java.lang.NullPointerException:无法在空对象上调用方法queryForList()

javascript - 在javascript中捕获Android手机中的 native 按钮点击

javascript - 我可以设置 Javascript 对象的类型吗?

javascript - Highcharts 自定义文本从右到左导出

JQUERY UI 主题 css 未应用于 ASP.NET MVC 4 Web 项目

java - Spring中什么时候创建对象?

java - 更改 GLSL 版本以与 GL3 兼容

java - Laravel exec() 在队列作业中

javascript - Angular - 更新 $scope 后无法正确加载 div

javascript - 如何正确地对按钮点击进行 Jasmine 测试