2017-05-31 10 views
0

私はplay Framework 2.5.Xを使用しています。ボタンクリックで実行するAJAX呼び出しを使用してコントローラからデータを取得しようとしています。ここではAjaxのコードは次のとおりです。パラメータを持つAjax GETリクエストPlay Framework 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を返します。

私の主な問題は、私のGETリクエストでこの 'uri'を送ることができないということです。私はそれを行う方法をどこにでも探してみましたし、すべての結果はそれを私がちょうど路線でやったが、私はまだエラーを取得する方法を実行します。

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

私は本当にAJAXを送信する方法上の任意のヘルプ/例をいただければ幸いですパラメータ付きのGETリクエスト。

ありがとうございました。

答えて

0

が、私は実際にそれを/roles/test:uri=...

考え出したはずですが、私のURIは、AJAX呼び出しを台無しに「HTTP」で始まります。それを削除すると問題が解決されます。

+0

これは 'http'だけでなく' http:// 'で始まるからです。リクエスト文字列に追加する前にURIをエンコードする必要があります。 –

0

パラメータの開始をマークしていないため、URLが機能していないようですか?

はあなたが/roles/test?uri=...

+0

Ajax呼び出しを修正しましたが、それでも問題は同じです。 ロール/?uri = http://example.com/ontology_Role_28&_=1496321694753リソースの読み込みに失敗しました:サーバが404のステータス(Not Found)で応答しました 私は本当にすべての公式ドキュメントを試しました助けていない、古いstackoverflowの答えは私がやっていることをexacltyを行う。 –

関連する問題