我正在使用Play Framework 2.5.X,我试图使用在按钮点击时执行的AJAX调用从我的控制器获取一些数据。这是ajax代码:
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。
无论如何,我的主要问题是我似乎无法发送这个&#39; uri&#39;在我的GET请求中。我试着到处寻找如何做到这一切,所有的结果都像我刚才在路线上那样做,但我仍然得到一个错误:
jquery.min.js:4
GET http://localhost:9000/roles/test:uri=http://wiserskills.com/ontology 404 (Not Found)
我非常感谢有关如何使用参数发送AJAX GET请求的任何帮助/示例。
感谢。
答案 0 :(得分:0)
看起来您的网址无效,因为您没有用?
标记参数的开头您有/roles/test:uri=...
您应该/roles/test?uri=...
答案 1 :(得分:0)
我实际上已经弄明白了,我的uri开头是一个&#39; http&#39;这搞砸了AJAX的召唤。删除它可以解决问题。