Android webapp Ajax异常`无效状态错误:DOM异常11`
这是我关于堆栈溢出的第一篇文章,所以我会尽量遵守惯例,尽可能清楚 导言: 对于这个项目,我正在尝试用一个本地web服务器做一个web应用程序。我的项目分为两部分:Android webapp Ajax异常`无效状态错误:DOM异常11`,android,ajax,web-applications,Android,Ajax,Web Applications,这是我关于堆栈溢出的第一篇文章,所以我会尽量遵守惯例,尽可能清楚 导言: 对于这个项目,我正在尝试用一个本地web服务器做一个web应用程序。我的项目分为两部分: 将请求传输到真实web服务器的本地web服务器(这是解决同源策略的解决方案) 一个android web应用程序,它是视图。这就是问题发生的地方 当我尝试使用ajax请求与服务器通信时,出现了错误INVALID\u STATE\u ERR:DOM Exception 11。然而,当我在firefox(使用Apache)上进行此操作时,
INVALID\u STATE\u ERR:DOM Exception 11
。然而,当我在firefox(使用Apache)上进行此操作时,我没有这个问题
本地web服务器:
web服务器仅在web应用程序和web服务器之间存储或传输数据
网络应用程序:
初始化
在我的android活动中,我会像这样启动我的web应用程序:
webview=新的webview(此);
MyJavaScriptInterface MyJavaScriptInterface=新的MyJavaScriptInterface(此);
addJavascriptInterface(myJavaScriptInterface,“AndroidFunction”);
//设置设置
webview.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
webview.getSettings().setJavaScriptEnabled(true);
webview.getSettings().setAppCacheEnabled(false);
webview.setHorizontalScrollBarEnabled(false);
webview.setVerticalScrollBarEnabled(false);
if(Build.VERSION.SDK\u INT>=VERSION\u CODES.JELLY\u BEAN)//16
{
//yourwebview,我在这里使用phonegap
webview.getSettings().setAllowUniversalAccessFromFileURLs(true);
webview.getSettings().setAllowFileAccessFromFileURLs(true);
}
//开始
uri=新的uri(“http://127.0.0.1:“+LocalServer.RECORDING_PORT+”/index.html”);
loadUrl(uri.toString());
AJAX
为了在我的webapp中保存数据,我正在执行一个基本的XMLHttpRequest
(也尝试了JQuery
,但没有显示任何消息)
function saveObject(在命令、在数据、fctCallback中)
{
变量l_strURL='1http://127.0.0.1:8888/api/“+方向;
var xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=函数()
{
试试看第46行
{
console.log(“xmlhttp.readyState=“+xmlhttp.readyState+”&&xmlhttp.status=“+xmlhttp.status”);
if(xmlhttp.readyState==4&&xmlhttp.status==200)
{
fctCallback(xmlhttp.responseText);
}
}
}
open(“POST”,l_strURL,true);
xmlhttp.send();
}
响应
web应用程序收到的答案是json,标题由web服务器创建。问题已解决
读取无效状态时,异常INVALID\u STATE\u ERR:DOM异常11
启动:
function saveObject(在命令、在数据、fctCallback中)
{
变量l_strURL='1http://127.0.0.1:8888/api/“+方向;
var xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=函数()
{
尝试
{
//此处不读取状态(状态1异常将出现)
console.log(“xmlhttp.readyState=“+xmlhttp.readyState”);
if(xmlhttp.readyState==4)
{
//状态可以在这里读取。
console.log(“xmlhttp.status=“+xmlhttp.status”);
if(xmlhttp.status==200)
{
fctCallback(xmlhttp.responseText);
}
}
}
}
open(“POST”,l_strURL,true);
xmlhttp.send();
}