我正在使用HTML5,JS在Android上做一个项目,使用JAX-RESTful在Eclips上成功创建了一个Web服务,可以从浏览器访问(获取所有参数的JSON输出)。
现在尝试从Eclips IDE解析Andriod虚拟设备中的JSON无法正常工作。当我今天早些时候尝试时,我可以从外部免费的JSON测试URL解析JSON,但现在即使它再次使用完全相同的代码也无法正常工作。此外,当在普通浏览器Chrome / Firefox上试用时,它甚至无法工作,但它在Eclips内置的浏览器中运行良好。
这是非常奇怪的行为,但我完全陷入了这一点,而且据我所知,从情况和研究来看,这可能与同源政策有关。我已经尝试了另一个版本的Ajax代码来解析Chrome中的这个问题但同样的问题。
我认为Eclips浏览器有一些设置不适用同源策略..
在我的代码下面,
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script language="javascript">
var xmlhttp;
function init(){
xmlhttp = new XMLHttpRequest();
}
function saveLocal(){
var sellerid = document.getElementById("id");
var url = "http://localhost:8080/PlayerServer/webresources/com.playerentity.player/" + sellerid.value;
//var url = "http://api.geonames.org/citiesJSON?north=44.1&south=-9.9&east=-22.4&west=55.2&lang=de&username=demo"; This worked before and now only in the built in eclips browser.
xmlhttp.open('GET', url,true);
xmlhttp.send(null);
xmlhttp.onreadystatechange = function(){
if(xmlhttp.readyState == 4){
if(xmlhttp.status == 200){
var seller = eval("("+ xmlhttp.responseText + ")");
seller = JSON.stringify(seller);
var seller1 = JSON.parse(seller);
document.getElementById("lastName").value = seller1.lastname;
document.getElementById("firstName").value = seller1.firstname;
document.getElementById("Email").value = seller1.lastspokenwords;
} else{
alert("xmlhttp status failure " + xmlhttp.responseText);
}
alert("Ready state failue " + xmlhttp.responseText);
}
};
}
</script>
</head>
<body onload="init()">
<h1>Call Seller restful webservice</h1>
<table>
<tr>
<td> Enter Seller ID: </td>
<td> <input type="text" id="id" size="10"/>
<input type="button" value="Load details of user" onclick="saveLocal()"/>
</td>
</tr>
<tr>
<td>First Name </td>
<td>
<input type="text" readonly="true" id="firstName" size="20"/>
</td>
</tr>
<tr> <td> Last Name: </td>
<!-- <td> <input type="text" readonly="true" id="lastName" size="20"/></td> -->
<td> <textarea rows="8" cols="22" id="lastName" ></textarea></td>
</tr>
<tr> <td> Email Address: </td>
<td> <input type="text" readonly="true" id="Email" size="20"/></td>
</tr>
</table>
</body>
</html>
请帮帮我..
谢谢你, 拉梅什