Layui之Ajax提交表到總是不執行success ? ! 開發環境是 spring boot +mybatis + layui +thymeleaf
阿新 • • 發佈:2019-02-10
博主的開發環境是 spring boot +mybatis + layui +thymeleaf
解決方案:
如果你的controller不打算返回模板的話就一定別忘了給它加上@Resopnsebody
註解.
eg:
@RequestMapping(value = "/sys_stuff/edit")
public String edit(String id, Model model) {
if (id == null) {
Stuffs stuff = new Stuffs();
}
Stuffs stuff = qingYunService.findStuffById (Integer.parseInt(id));
System.out.println(stuff.toString());
model.addAttribute("stuff", stuff);
return "modifystuff";
}
// @ResponseBody 要加上
@RequestMapping(value = "/sys_stuff/update")
@ResponseBody
public Result update(@RequestParam("name") String name ,
@RequestParam("id" ) String id,
@RequestParam("lid") String lid,
@RequestParam("mid") String mid) {
Stuffs stuff = qingYunService.findStuffById(Integer.parseInt(id));
stuff.setName(name);
System.out.println("次型別id=====>>>"+lid+"主型別id=====>>>" +mid);
LittleTypes littleType = qingYunService.findLittleTypeById(Integer.parseInt(lid));
System.out.println("初始littetype============>>>>>"+littleType.toString());
littleType.setMainTypes(qingYunService.findMainTypeById(Integer.parseInt(mid)));
stuff.setLittleTypes(littleType);
qingYunService.modifyStuff(stuff);
Result result = Result.success();
return Result.success();
}
報錯資訊:
"Error resolving template "sys_stuff/update", template might not exist or might not be accessible by any of the configured Template Resolvers"
番外:
這個報錯資訊最讓人矇蔽的不是我看不懂意思,而是我壓根就沒有寫sys_stuff/update這個模板,還有我從未打算渲染這個模板!!
所以,這就讓我摸不著頭腦了……….
曾經我以為我Ajax(阿加克斯)有問題!然後把js改來改去也不成功!各位看官可以看看我的ajax麼!
<script th:src="@{/lib/layui/layui.js}"></script>
<script type="text/javascript" th:inline="javascript">
layui.config({
base: '/js/layui-modules/'
}).use(['form', 'layer', 'laypage', 'tools'], function () {
var $ = layui.jquery,
form = layui.form(),
laypage = layui.laypage,
tools = layui.tools;
//監聽提交
//監聽提交 data是什麼 傳送到後臺?????
form.on('submit(btnSave)', function(data) {
//roleId在這裡沒多少用
$.ajax({
type: 'POST',
url: /*[[@{/sys_stuff/update}]]*/'',
dataType:'json',
data: data.field,
async: true,
success: function (result) {
console.log(result.code)
//媽的 沒加@Responsebody註解
if (result.code == 0) {
layer.msg('success:儲存成功', {icon: 1, time:1000});
setTimeout(function(){
top.layer.closeAll('iframe');
//重新整理父親的頁面
parent.refreshIframe();
},800);
} else {
consol.alert(result.code);
layer.msg('eles:儲存失敗!'+result.msg, {icon: 2, time:1000});
}
},
error: function (result, type) {
layer.msg('error:儲存失敗!', { icon: 2, time:1000 });
}
});
console.log(data.field)
return false;
});
});
</script>