Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 播放框架重定向不工作_Java_Javascript_Ajax_Playframework 2.0 - Fatal编程技术网

Java 播放框架重定向不工作

Java 播放框架重定向不工作,java,javascript,ajax,playframework-2.0,Java,Javascript,Ajax,Playframework 2.0,我正在开发一个从Twitter上获取信息的应用程序。我希望用户能够指示我应该使用他们的个人资料的哪些部分(例如,他们可能不希望使用他们的tweet),因此我将使用复选框来允许用户指示应该使用个人资料的哪些部分。单击login按钮后,我打算确定使用Javascript选中哪些框,然后对开始Twitter登录流的Java函数进行AJAX调用。在我这么做之前,我只是想确定我能让这个功能正常工作。函数的最后一行是重定向到Twitter,在那里他们可以登录。但是,redirect命令什么也不做。函数中的每

我正在开发一个从Twitter上获取信息的应用程序。我希望用户能够指示我应该使用他们的个人资料的哪些部分(例如,他们可能不希望使用他们的tweet),因此我将使用复选框来允许用户指示应该使用个人资料的哪些部分。单击login按钮后,我打算确定使用Javascript选中哪些框,然后对开始Twitter登录流的Java函数进行AJAX调用。在我这么做之前,我只是想确定我能让这个功能正常工作。函数的最后一行是重定向到Twitter,在那里他们可以登录。但是,redirect命令什么也不做。函数中的每一行都会按其应该的方式执行。我甚至在函数中创建了一个示例文件,以确保函数被调用,并且AJAX函数中的参数已成功传递。如有任何建议,将不胜感激。我的代码如下:

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
?应该对返回值有更多的了解。