contentType : "application/json;charset=UTF-8",这个去掉试试。

解决方案 »

  1.   


    去掉会出现415 (Unsupported Media Type) 这个错误的
      

  2.   

    data:{'factoryId':factoryId,'pnDate':pnDate,'engineer':engineer,'reportId':reportId,"auditReportId":auditReportId,"printer":JSON.stringify(printer)}这种数据最后被转为键值对,如果你要传递json字符串,要这样
        data: JSON.stringify({ 'factoryId': factoryId, 'pnDate': pnDate, 'engineer': engineer, 'reportId': reportId, "auditReportId": auditReportId, "printer": printer })
      

  3.   


    大神,你是对的,但我还有个问题,我还要穿个factoryId,它是factory对象的id,我
    var factory1=new Object();
    factory1={"auditFactoryId":13};
    data:JSON.stringify({'auditFactory':factory1,'engineerName':engineer,'reportId':reportId,"auditReportId":auditReportId,"printers":array}),
    后台怎么都拿不到auditFactory,总是为空, 它和report一对多,用report.getAuditFactory().
      

  4.   

    java不清楚了。名称应该要一直吧,你方法里面定义的是factoryId,传递的是auditFactory获取不到吧。。而且你的参数是字符串内容,不是对象,应该会报错什么的吧。。
      

  5.   

    方法是auditFactory,能传到后台,就是为nullpublic class AuditReport implements Serializable{ /**
     * 
     */
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "audit_report_id")
    private int auditReportId;
    @ManyToOne(fetch=FetchType.LAZY,optional = false,cascade=CascadeType.ALL)
    @JoinColumn(name="audit_factory_id")
    private AuditFactory auditFactory;