post提交表单,Controller根本进不去

jsp:

<form id="itemAddForm" class="itemForm" method="post">
    <table cellpadding="8"  border="1">
        <tr><td>商品类目:</td><td>
                <a href="javascript:void(0)" class="easyui-linkbutton selectItemCat">选择类目</a>
                <input type="hidden" name="cid" style="width: 280px;"></input></td></tr><tr>
            <td>商品标题:</td><td>
                <input class="easyui-textbox" type="text" id="title" name="title" data-options="required:true" style="width: 280px;"></input>
            </td></tr><tr><td>购入日期:</td><td>
                <input class="easyui-datebox" type="text" name="buydate" data-options="required:true"></input>
            </td></tr><tr><td>商品进价(J):</td><td>
                <input class="easyui-numberbox" type="text" name="buyprice" data-options="min:1,max:99999999,precision:0,required:true" />
            </td></tr><tr><td>日本国内运费(J):</td><td>
                <input class="easyui-numberbox" type="text" name="japanfareprice" data-options="min:1,max:99999999,precision:0,required:true" />
            </td></tr><tr><td>国际运费(J):</td><td>
                <input class="easyui-numberbox" type="text" name="interfareprice" data-options="min:1,max:99999999,precision:0,required:true" />
            </td></tr><tr><td>国内运费(C):</td><td>
                <input class="easyui-numberbox" type="text" name="chinafareprice" data-options="min:1,max:99999999,precision:0,required:true" />
            </td></tr><tr><td>关税(C):</td><td>
                <input class="easyui-numberbox" type="text" name="taxprice" data-options="min:1,max:99999999,precision:0,required:true" />
            </td></tr><tr><td>商品售价(C):</td><td>
                <input class="easyui-numberbox" type="text" name="sellprice" data-options="min:1,max:99999999,precision:0,required:true" />
            </td></tr>
        </table>
    <input type="hidden" name="itemParams"/>
</form>
<div style="padding:5px">
    <a href="javascript:void(0)" class="easyui-linkbutton" onclick="submitForm()">提交</a>
    <a href="javascript:void(0)" class="easyui-linkbutton" onclick="clearForm()">重置</a>
</div>

<script type="text/javascript">
        //ajax的post方式提交表单
        function submitForm(){
        $.post("/item/save",$("#itemAddForm").serialize(), function(data){
            if(data.status == 200){
                $.messager.alert('提示','新增商品成功!');
            }else{
                $.messager.alert('提示','新增商品失败!');
            }});
            }

    function clearForm(){
        $('#itemAddForm').form('reset');
        itemAddEditor.html('');
    }

Controller:

@Controller
@RequestMapping("/item")
public class ItemController {

@Autowired
private ItemService itemService;

@RequestMapping(value="/save",method=RequestMethod.POST)
@ResponseBody
public TaotaoResult createItem(TbItem item) {
    TaotaoResult result =  itemService.createItem(item);
    return result;
}}

pojo:

public class TbItem {
    private Long id;

    private String title;

    private Date buydate;

    private Integer buyprice;

    private Integer japanfareprice;

    private Integer interfareprice;

    private Integer chinafareprice;

    private Integer taxprice;

    private Integer sellprice;

    private Long cid;

    private Byte status;

    private Date created;

    private Date updated;

get。。。
set。。。
}

好几天了,提交form表单但是Controller就是进不去,不知道为什么?求大神帮忙看看,谢谢

4个回答

F12 看看浏览器的from表单提交后请求结果是什么,如果是404 说明你的Controller路径没有被解析,检查 SpringMVC配置的Dispatcher的
映射路径有没有前缀。

zsj753014
zsj753014 没有报404
9 个月之前 回复

可以把错误提示黏贴出来吗

zsj753014
zsj753014 运行没有错误,前段没有任何反应,db也没有插入数据,后台也没有报错,debug断点在Controller层,但是根本没有进去
9 个月之前 回复

页面请求ajax请求路径没有写完整,submitForm函数未定义

qq_37129624
ghq-yes 回复zsj753014: 楼下正解
9 个月之前 回复
zsj753014
zsj753014 前段js补全了,前段没有报错,就是没进去
9 个月之前 回复
zsj753014
zsj753014 F12看了,$.post("/item/save",$("#itemAddForm").serialize(), function(data){}这个里面根本就没有进去,不知道为什么
9 个月之前 回复
qq_37129624
ghq-yes 回复zsj753014: f12可以看请求详情。
9 个月之前 回复
qq_37129624
ghq-yes 回复zsj753014: 前端js补全看下,应该是根本就没有发送请求到后台。
9 个月之前 回复
zsj753014
zsj753014 ajax请求路径是"/item/save",后台Controller层也是这个,submitForm函数定义了,在ajax请求外面包着方法,只是没有截图出来
9 个月之前 回复
$("#itemAddForm").serialize(),序列化是string类型的,但是buydate是date类型,所以ajax请求提交不出去。
需要在Controller层加入下面的内容,这样就可以使得pojo的buydate和表单中的buydate一致。

@InitBinder
public void initBinder(ServletRequestDataBinder binder){
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));
}
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问