通过Phonegap连接到HTTP服务器

时间:2011-03-07 12:12:30

标签: cordova

我有服务器组件通过HTTP连接到远程服务器并得到一些响应。如果我使用Phonegap for Android,我可以连接到java插件中的这样的服务器端代码吗?

5 个答案:

答案 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 */