这是我的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 和描述插入到我的表单中?现在它总是'未定义'。