2012-03-30 65 views
0

我想從控制器調用函數與URL /OHRSFrontSheet調用Java中的功能和作用的樣子:無法從JSP和JS

@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> 

問題枝條的代碼是在日的alert(id) e JS被調用,但它的功能generateFrontSheet()沒有被調用。我收到一個404錯誤。

我是否缺少與我傳遞的參數或映射相關的內容?

+0

您是否在js文件中指定了正確的URL? – 2012-03-30 10:09:03

+0

@ kundanbora:這是我寫的所有代碼。 JS包括 – 2012-03-30 11:46:01

+0

有人可以幫助我與我通過JS的POST方法的參數。這是冠軍嗎?並通過傳遞參數來完全按照我想要的方式調用函數。 – 2012-03-30 11:50:01

回答

0

得到了答案。雖然愚蠢的錯誤。我忘了在JavaScript中包含我的項目基礎URL。

function createFrontSheet(id) { 
alert(id); 
$.post("/portal/OHRSFrontSheet/generateFrontSheet",{Id:id}); 
} 

/portal是我的項目的基礎網址。 :)

0

看看行

@RequestMapping(value = "/generateFrontSheet/{myId}", method = RequestMethod.POST) 

這裏身份識別碼是URL的一部分。

現在看看這個 -

$.post("/OHRSFrontSheet/generateFrontSheet",{Id:id}); 

在這裏,你必須把id作爲URL的一部分。

它應該是這個樣子

$.post("/OHRSFrontSheet/generateFrontSheet/"+id); 

同樣的事情在JSP

value="/OHRSFrontSheet/generateFrontSheet/(${formId})" 
+0

沒有工作:再次相同的錯誤404 'HTTP狀態404 -/OHRSFrontSheet/generateFrontSheet/131350' 131350是我的身份證...... 沒有與我猜 – 2012-03-30 12:13:40

+1

使用「的映射問題@PathVariable 「而不是」@RequestParam「 – 2012-03-30 12:16:24