如何让 play 2.1 控制器函数执行捕获的外部 url 并将 json 数据对象返回给 javascript。
- 首先 InputStream 没有打开外部 url。错误说没有协议
- play 不喜欢 JSONObject 作为回报。
代码正在进行中 -
Javascript
$.ajax({
url: "/documents/getjsontext/" + talksUrl ,
type: 'GET',
data: "",
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function(data){ do_this(data);},
error: function () {alert("Error in Ajax Call");}
});
Route- /documents/acontext/:jsonurl controllers.Class.acontext(jsonurl: String)
public static JSONObject acontext(String jsonurl) {
InputStream is = new URL(jsonurl).openStream();
try {
BufferedReader rd = new BufferedReader(new InputStreamReader(is, Charset.forName("UTF-8")));
String jsonText = readAll(rd);
JSONObject json = new JSONObject(jsonText);
return json;
} finally {
is.close();
}
}