Ajax сбой вызова с Javafx Webview - PullRequest
       89

Ajax сбой вызова с Javafx Webview

2 голосов
/ 27 января 2020

После этого , хотя Ajax вызовы по ссылке выполняются без каких-либо ошибок, если нижеприведенная функция в HTML все еще не работает

$(document).ready(function() {
       alert("Ready");
       $.ajax({
           url: "https://www.google.com/",
           type: 'GET',
           cache: false,
           data: "{'name':'hi'}",
           contentType: 'application/json',
           dataType: 'json',
           async: true,
           success: function(res) {
             alert('success res-:' + JSON.stringify(res));
           },
           error: function(res) {
             alert('error res-:' + JSON.stringify(res));
           }
        });

Обновление Java Код

   import javafx.application.Application;
   import javafx.scene.Scene;
   import javafx.scene.control.ButtonType;
   import javafx.scene.control.Dialog;
   import javafx.scene.web.WebView;
   import javafx.stage.Stage;
   import netscape.javascript.JSObject;

   public class FXWebViewSO extends Application  {

    public static void main(String[] args) {
    launch(args);
    }

    public void start(Stage primaryStage) {
    primaryStage.setTitle("JavaFX WebView Example");

    WebView webView = new WebView();
    webView.getEngine().setJavaScriptEnabled(true);
    webView.getEngine().setOnAlert(event -> showAlert(event.getData()));
    webView.getEngine().setJavaScriptEnabled(true);
    JSObject window = (JSObject) webView.getEngine().executeScript("window");
    window.setMember("window", null);

//  webView.getEngine().load("file://webview.html"); // Fails - HTML having above Ajax function
    webView.getEngine().load("http://www.jquerysample.com/#BasicAJAX"); // Works

    final Scene scene = new Scene(webView);
    primaryStage.setScene(scene);
    primaryStage.show();
    }

    private void showAlert(String message) {
    System.out.println(message);
    Dialog<Void> alert = new Dialog<>();
    alert.getDialogPane().setContentText(message);
    alert.getDialogPane().getButtonTypes().add(ButtonType.OK);
    alert.showAndWait();
    }
   }

Примечание : то же самое отлично работает на паре windows машин и сбоев из Ubuntu Desktop.

Подробности среды ниже

Ubuntu - 1.8 .0_151 - Сбой (Попытка обновления тоже все равно не удалась).

Windows7 - 1.8.0_221 - Работает

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...