我尝试使用ajax post请求在Android webview中加载html页面。
当我用loadUrl加载webview时,javascript工作正常,但是当我尝试使用loadData加载(我需要它)时,出现错误:“NETWORK_ERR: XMLHttpRequest Exception 101”。这个错误听起来像一个访问控制原点问题。
parseJsoup函数用良好的字符串替换html页面中的某个字符串。我检查我传递给loadData的数据,并且脚本部分不会改变。
我的创建功能:
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);
}
});谢谢