JavaFXWebView未执行Ajax

JavaFXWebView未执行Ajax,java,ajax,javafx,dropbox-api,Java,Ajax,Javafx,Dropbox Api,我试图在项目中使用Dropbox Api,因此正在实现OAuth 2.0流。我使用JavaFX WebView实现了整个流程,但我遇到了以下问题: 验证流启动后,会弹出一个带有JavaFXWebView的窗口,并导航到dropbox验证页面 用户输入其帐户信息并点击登录按钮 “登录”按钮旁边会出现一个小进度指示器,它会一直旋转 验证url如下所示: https://www.dropbox.com/oauth2/authorize?client_id=<your-client-id>&

我试图在项目中使用Dropbox Api,因此正在实现OAuth 2.0流。我使用JavaFX WebView实现了整个流程,但我遇到了以下问题:

  • 验证流启动后,会弹出一个带有JavaFXWebView的窗口,并导航到dropbox验证页面
  • 用户输入其帐户信息并点击登录按钮
  • “登录”按钮旁边会出现一个小进度指示器,它会一直旋转
  • 验证url如下所示:

    https://www.dropbox.com/oauth2/authorize?client_id=<your-client-id>&response_type=token&redirect_uri=<redirect-url>
    

    这不是一个直接的解决方案,但它可能会在未来帮助其他人。事实证明,javafxwebview在功能方面似乎落后了(),官方支持也被取消了()。因此,我转而使用

    默认情况下,JxBrowser是付费的,但他们向开源项目授予免费许可证。由于许可和其他原因,JxBrowser不像WebView那么容易使用,但由于它使用Chromium,所以它在功能方面是最新的,SOE似乎没有像这样的bug

    顺便说一句,我与TeamDev或JxBrowser没有任何关系,我只是在我的一个项目中使用它:)

    import javafx.application.Application;
    import javafx.scene.Scene;
    import javafx.scene.web.WebView;
    import javafx.stage.Stage;
    
    public class JavaFXWebViewAjaxIssue extends Application {
        public static void main(String[] args) {
            launch(args);
        }
    
        @Override
        public void start(Stage stage) {
    
            String clientId = ""; // Put your client id in
            String redirectURL = ""; // put your redirect url in
    
            String url = "https://www.dropbox.com/oauth2/authorize?client_id=" + clientId + "&response_type=token&redirect_uri=" + redirectURL;
    
            WebView webView = new WebView();
            webView.getEngine().load(url);
    
            final Scene scene = new Scene(webView);
            stage.setScene(scene);
            stage.show();
        }
    }