【发布时间】:2017-10-24 04:54:36
【问题描述】:
在 Spring 中使用 ajax 时遇到问题
当我从选择框中选择区域或在屏幕上输入商店名称时,我想要过滤列表结果,所以我的想法是使用 Ajax 来解决这个问题。但是 Ajax 不能调用 $.ajax 的 url 属性中的特定控制器
以下是我的文件:
- JSP:
应用商店搜索的 CSS id
<form:form modelAttribute="appliedStoreInput" id="appliedStoreSearch">
<form:select path="regionId" cssClass="form-control">
<form:option value="" label="Toàn quốc"></form:option>
<form:options items="${listRegions}" />
</form:select>
<input type="email" class="form-control"placeholder="Tìm kiếm cửa hàng" name="storeNameInp" />
<div class="input-icon">
<i class="fa fa-search"></i>
</div>
</form:form>
-
阿贾克斯
$(document).on('change','#appliedStoreSearch',function(e){ var input = $("#appliedStoreSearch").serialize(); e.preventDefault(); $.ajax({ url:"/promotions_controller/search_applied_store_ajax", method:"POST", contentType : "application/json;", dataType:"json", data:input, success: function(data){ } }); e.preventDefault(); }); -
控制器:
@RequestMapping(value="/search_applied_store_ajax",method=RequestMethod.POST,produces="application/json" ) public @ResponseBody List<AppliedStoreDto> searchAppliedStoreAjax( @ModelAttribute("appliedStoreInput")AppliedStoreInputDto appliedStoreinput){ System.out.println("in ra 1 so thu gi go"); List<AppliedStoreDto> listAppliedStore = null; appliedStoreinput.setCompanyId(7); try { // get list applied store listAppliedStore = promotionLogic.findAllAppliedStore(appliedStoreinput); } catch (Exception e) { logger.error(e.getMessage()); } return listAppliedStore; }
我已经调试了 Javascript,然后我从表单中检索了数据,但 Ajax 仍然无法调用 Spring 控制器 (/promotions_controller/search_applied_store_ajax)。控制台中没有显示任何内容
请帮帮我,tks all!!!!
【问题讨论】:
-
akuma8,你能帮帮我吗?
-
你能添加你的控制器映射吗?在这里,您仅添加了处理程序方法。如果请求真的被发送,还要检查。
标签: ajax spring url model-view-controller controller