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);
}
});
ありがとう