Java 播放框架重定向不工作
我正在开发一个从Twitter上获取信息的应用程序。我希望用户能够指示我应该使用他们的个人资料的哪些部分(例如,他们可能不希望使用他们的tweet),因此我将使用复选框来允许用户指示应该使用个人资料的哪些部分。单击login按钮后,我打算确定使用Javascript选中哪些框,然后对开始Twitter登录流的Java函数进行AJAX调用。在我这么做之前,我只是想确定我能让这个功能正常工作。函数的最后一行是重定向到Twitter,在那里他们可以登录。但是,redirect命令什么也不做。函数中的每一行都会按其应该的方式执行。我甚至在函数中创建了一个示例文件,以确保函数被调用,并且AJAX函数中的参数已成功传递。如有任何建议,将不胜感激。我的代码如下:Java 播放框架重定向不工作,java,javascript,ajax,playframework-2.0,Java,Javascript,Ajax,Playframework 2.0,我正在开发一个从Twitter上获取信息的应用程序。我希望用户能够指示我应该使用他们的个人资料的哪些部分(例如,他们可能不希望使用他们的tweet),因此我将使用复选框来允许用户指示应该使用个人资料的哪些部分。单击login按钮后,我打算确定使用Javascript选中哪些框,然后对开始Twitter登录流的Java函数进行AJAX调用。在我这么做之前,我只是想确定我能让这个功能正常工作。函数的最后一行是重定向到Twitter,在那里他们可以登录。但是,redirect命令什么也不做。函数中的每
Javascript
<input id="tw" type="button" onclick="twitterLogin()"value="Login to Twitter"/>
function twitterLogin(){
$.ajax({
type: "POST",
url: "@{Application.requestToken()}",
data: {
text: "Well that's odd"
}
})
}
Java
public static void requestToken(String text){
try{
String prelimOAuthToken = Twitter.getRequestToken();
if(prelimOAuthToken.equals("Failed")){
FileWriter fstream = new FileWriter("Error log.txt");
BufferedWriter out = new BufferedWriter(fstream);
out.write("Getting a request token failed");
out.close();
}
else{
BufferedWriter b = new BufferedWriter(new FileWriter("Output.txt"));
b.write(text);
b.close();
//Now we use this oauth token to redirect the user for authentication
String url = "https://api.twitter.com/oauth/authenticate?oauth_token=" + prelimOAuthToken;
redirect(url);
}
}
catch(Exception e){
System.out.println(e.getMessage());
}
}
Javascript
函数twitterLogin(){
$.ajax({
类型:“POST”,
url:“@{Application.requestToken()}”,
数据:{
文字:“这很奇怪”
}
})
}
JAVA
公共静态void requestToken(字符串文本){
试一试{
字符串prelimOAuthToken=Twitter.getRequestToken();
if(prelimOAuthToken.equals(“失败”)){
FileWriter fstream=newFileWriter(“Error log.txt”);
BufferedWriter out=新的BufferedWriter(fstream);
out.write(“获取请求令牌失败”);
out.close();
}
否则{
BufferedWriter b=新的BufferedWriter(新的FileWriter(“Output.txt”);
b、 写(文本);
b、 close();
//现在我们使用这个oauth令牌重定向用户进行身份验证
字符串url=”https://api.twitter.com/oauth/authenticate?oauth_token=“+prelimOAuthToken;
重定向(url);
}
}
捕获(例外e){
System.out.println(e.getMessage());
}
}
requestToken
的类型必须是Result
,您的if
子句也需要返回Result
。谢谢您的评论。我试图返回一个重定向结果,但是我得到一个错误,说我不能返回一个无效的结果。你能包括你尝试过的吗?您尝试我的建议后,requestToken
的签名是什么?您是否将void
更改为Result
?应该对返回值有更多的了解。