我正在尝试使用url /OHRSFrontSheet
从控制器调用一个函数,该函数看起来像:
@RequestMapping(value = "/generateFrontSheet/{myId}", method = RequestMethod.POST)
public void generateFrontSheet(@RequestParam("myId") Long Id) {
SOP("Creating doc for ID = "+myId);
//Create Document
}
我的java脚本是:
function createFrontSheet(id) {
alert(id);
$.post("/OHRSFrontSheet/generateFrontSheet",{Id:id});
}
我的jsp看起来像:
<spring:url var="generateFrontSheetUrl"
value="/OHRSFrontSheet/generateFrontSheet(${formId})"/>
<a href="javascript:createFrontSheet(${formId});">Download Doc</a>
代码的问题是JS中的alert(id)
被调用,但函数generateFrontSheet()
没有被调用。我收到404错误。
我是否遗漏了与我传递的参数或映射有关的内容?
答案 0 :(得分:0)
看行
@RequestMapping(value = "/generateFrontSheet/{myId}", method = RequestMethod.POST)
这里myId是url part。
现在看看 -
$.post("/OHRSFrontSheet/generateFrontSheet",{Id:id});
这里你必须把id作为url的一部分。
应该看起来像这样
$.post("/OHRSFrontSheet/generateFrontSheet/"+id);
jsp中的相同事情
value="/OHRSFrontSheet/generateFrontSheet/(${formId})"
答案 1 :(得分:0)
得到了答案。虽然愚蠢的错误。我忘了在JavaScript中包含我的项目基础网址。
function createFrontSheet(id) {
alert(id);
$.post("/portal/OHRSFrontSheet/generateFrontSheet",{Id:id});
}
/portal
是我项目的基本网址。 :)