我有服务器组件通过HTTP连接到远程服务器并得到一些响应。如果我使用Phonegap for Android,我可以连接到java插件中的这样的服务器端代码吗?
答案 0 :(得分:3)
您可以使用javascript的xmlHttpRequest方法从服务器获取响应或 您可以在应用中使用 jquery 插件http://jquery.com/,并使用jquery的ajax函数。
$.ajax({
url:'stringURL',
beforeSend: function(x) {
x.setRequestHeader('Authorization','username/pwd');
},
dataType:"xml",
contentType:'application/xml',
timeout:10000,
type:'POST',
success:function(data) {
alert(data);
},
error:function(XMLHttpRequest,textStatus, errorThrown) {
alert("Error status :"+textStatus);
alert("Error type :"+errorThrown);
alert("Error message :"+XMLHttpRequest.responseXML);
}
});
答案 1 :(得分:1)
你也可以考虑对这些请求使用角度'$ http'。
https://docs.angularjs.org/api/ng/service/ $ HTTP
由于单页性质,Angular与phonegap配合得非常好。
答案 2 :(得分:0)
是的,你所要做的就是编辑你的java文件并输入你的http请求的网址
答案 3 :(得分:0)
确保您将要连接的网址列入白名单(否则您将无法从设备连接)...或者如果您正在使用Phonegap Build(build.phonegap.com) ),如果你刚刚开始,这当然值得一看,你需要调整config.xml。
答案 4 :(得分:0)
您可以在函数中使用以下代码: -
var xmlhttp=new XMLHttpRequest();
xmlhttp.overrideMimeType("application/json");
xmlhttp.open("POST",ipAddress +"/create_account.php",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("email="+emailId+"&password="+password);
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4) {
console.log("Registration response: "+xmlhttp.response);
var resp = "(" + xmlhttp.response.toString() + ")";
var jsondata=eval(resp);
if(jsondata.status == false){
navigator.notification.confirm(jsondata.message,onConfirmOne,'Duplicate Email',['Ok']);
}else{
}/*end else*/
}/* end readystate*/
}/*end function */