$("input[name=#delete]").click(function(e) { var productTypeId = parseInt($(this).parent().parent() .children(".productTypeId").html()); // var json = { // parameter : productTypeId // } // var strjson = JSON.stringify(json); alert(productTypeId); // var url = "controller/product/productType!deleteProductType.action"; // var jsonObject = { // id : productTypeId // }; // JSON对象 // var strjson = JSON.stringify(jsonObject); // 将JSON对象转变成JSON格式的字符串 // $.post(url, { // json : strjson // }, callback); $.ajax({ url : "controller/product/productType!deleteProductType.action", // dataType : "text", // 这个为什么要注释掉呢? data : "productType.id=productTypeId", type : "post", success : function(data) { alert("删除成功"); }, complete : function(XMLHttpRequest, textStatus) { // closeWindow(); alert(this); }, error : function(data) { alert("删除失败"); } }); });
我要把productTypeId传递给struts2 的action,action接收这个数据进行删除操作,下面是action代码:
public String deleteProductType() { // System.out.println(productType.getId()); // JSONObject jsonObject = new JSONObject(); // int productTypeId = Integer.parseInt(jsonObject.getJSONObject(json) // .getString("parameter")); // productTypeService.delete(ProductType.class, productTypeId); // System.out.println(productTypeId); // queryPage(); // return "deleteProductType"; productTypeService.delete(ProductType.class, productType.getId()); System.out.println(productType.getId()); return null; }
控制台输出的productType.getId()为null;请朋友费心帮忙一下,只要可以让我用jquery把数据发送给action就行,即使是代码全改了;