4

AndroidWebビューにajaxPOSTリクエストを含むHTMLページを読み込もうとしています。

loadUrlを使用してWebビューをロードすると、JavaScriptは正常に機能しますが、loadDataを使用してロードしようとすると(必要です)、エラーが発生します:" NETWORK_ERR: XMLHttpRequest Exception 101"。このエラーは、アクセス制御の発信元の問題のように聞こえます。

parseJsoup関数は、htmlページの一部の文字列を適切な文字列に置き換えます。loadDataに渡すデータを確認しましたが、スクリプト部分は変更されていません。

私のoncreate関数:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);        
    String html = parseJsoup("index.html");

    setContentView(R.layout.main);
    myBrowser = (WebView)findViewById(R.id.mybrowser);
    myBrowser.getSettings().setJavaScriptEnabled(true); 
    myBrowser.setWebViewClient(new MyWebViewClient());
    //myBrowser.loadUrl("file:///android_asset/index.html");            
    myBrowser.loadDataWithBaseURL("", html, "text/html", "utf-8", null);
}

そして私のjavascriptコード:

$.ajaxSetup({
  contentType: "application/json; charset=utf-8",
  datatype: "json",
  async: false,
});


$.ajax({
    type: "POST",
    url: "my url",
    data: 'my data',        
    success: function(data){
    // Do some action here with the data variable that contains the resulting message
      document.write("OK "+JSON.stringify(data));
      console.log(data);
    },
    error: function(data){
      document.write("KO "+JSON.stringify(data));
      console.log(data);
    }
});

ありがとう

4

1 に答える 1