使用参数Play Framework 2.5.X的Ajax GET请求

时间:2017-05-31 17:57:38

标签: ajax playframework

我正在使用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请求的任何帮助/示例。

感谢。

2 个答案:

答案 0 :(得分:0)

看起来您的网址无效,因为您没有用?

标记参数的开头

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

您应该/roles/test?uri=...

答案 1 :(得分:0)

我实际上已经弄明白了,我的uri开头是一个&#39; http&#39;这搞砸了AJAX的召唤。删除它可以解决问题。