2017-05-31 102 views
0

我正在使用框架2.5.X播放,我試圖從控制器中使用AJAX調用來獲取一些數據,該按鈕單擊按鈕執行。下面是Ajax代碼:帶參數的Ajax GET請求播放框架2.5.X

lastClickedWrench = $(this).attr('id'); 
uri = 'http://example.com/ontology#' + lastClickedWrench; 
console.log("uri :" + uri); 
$.ajax({ 
    type: 'GET', 
    url: '/roles/test:uri='+uri+'', 
    success: function(data){ 
     console.log('success', data); 
    } 
}); 
}); 

我想這個URI發送到控制器,所以我可以執行查詢,這裏的路怎麼文件的樣子:

GET  /roles/test:uri   app.controllers.RoleController.sendJson(uri : String) 

而且這裏是它的調用控制器:

public Result sendJson(String uri) 
{ 
    RoleDatabaseAccess access = new RoleJenaSparqlAccess(); 

    List<Skill> skills = access.getAssociatedSkills(uri); 

    return ok(Json.toJson(skills)); 
} 

getAssociatedSkills方法返回包含SPARQL查詢結果的List。

無論如何,我的主要問題是,我似乎無法發送這個'uri'在我的GET請求。我試着到處尋找如何做到這一點,所有的結果做了,我只是在路由的方式一樣,但我仍然得到一個錯誤:

jquery.min.js:4 
GET http://localhost:9000/roles/test:uri=http://wiserskills.com/ontology 404 (Not Found) 

我真的很感激如何發送AJAX任何幫助/例子通過參數獲取請求。

謝謝。

回答

0

其實我想通了,我的URI開始與「HTTP」,這打亂了AJAX調用。刪除它可以解決問題。

+0

這是因爲它以'http://'開頭,而不僅僅是'http'。在將URI添加到請求字符串之前,您需要對URI進行編碼。 –

0

它看起來像你的網址不工作,因爲你沒有標記參數的開始?

你有/roles/test:uri=...

你應該有/roles/test?uri=...

+0

我修復了Ajax調用,但仍然是同樣的問題。這裏的錯誤: roles /?uri = http://example.com/ontology#example_Role_28&_=1496321694753無法加載資源:服務器迴應狀態爲404(未找到) 我真的嘗試了所有官方文檔沒有幫助,而舊的計算器答案確實讓我無所適從。 –