PhoneGap plist:可以将外部主机设置为ip地址吗?

时间:2012-02-17 16:33:57

标签: cordova jquery-mobile mobile

刚进入Mac上的PhoneGap开发。我在服务器上托管了一个没有分配DNS的.NET服务。我可以在phonegap.plist中使用ip地址吗?我的代码可以在浏览器中使用,甚至可以作为实际iphone上的Web版本。很快我从xcode编译它似乎没有工作(甚至在模拟器上)。我通过lint运行这个js,现在我处于一个麻烦的地方......这就是我想要做的。

我点击按钮点击GetEstimate:

function GetEstimate(From, To) {
"use strict";
varType    = "GET";
varUrl     = "http://xx.xxx.xxx.xx/service.svc/" + 
"GetBasicEst?pickupPostalCode="+ From + "&dropoffPostalCode="+ To +"";
varContentType    = "application/json; charset=utf-8";
varDataType = "jsonp";
varProcessData = true;
alert("GetEstimate");
new CallService();}

function CallService(){
alert("Inside Call Service");
"use strict";
$.ajax({
       type          : varType, //GET or POST or PUT or DELETE verb
       url           : varUrl, // Location of the service
       data          : varData, //Data sent to server
       contentType   : varContentType, // content type sent to server
       dataType      : varDataType, //Expected data format from server
       processdata   : varProcessData, //True or False
       success       : function(data) {//On Successfull service call
       alert("Success");
       var innerHtml = "";
       var rhigh=data.EstimateHigh;
       var rlow=data.EstimateLow;
       alert(rlow);
       $("#rHigh").html(rhigh);
       $("#rLow").html(rlow);                       
       $("#rHigh").formatCurrency();
       $("#rLow").formatCurrency();                 
       },
       //error: ServiceFailed // When Service call fails
       });}

CallService内的警报确实触发然后它似乎停在那里......不会调用$ .ajax(

我可以在左侧场地出路,所以任何建议都有帮助。

3 个答案:

答案 0 :(得分:0)

只需在plist中添加一个新条目,其值为*。这对所有领域都是一个问题。 :)

答案 1 :(得分:0)

再看一下你的代码之后就出现了问题。所以你总是需要列出你的域名,但最重要的是确保你的ajax被正确调用。

您正在梳理网址和数据,它们需要分开。您可以调用varData,但不是在任何地方创建它。

function GetEstimate(From, To) {
"use strict";
varType    = "GET";
varUrl     = "http://xx.xxx.xxx.xx/service.svc/GetBasicEst";

// YOUR DATA
varData = "pickupPostalCode="+ From + "&dropoffPostalCode="+ To;

varContentType    = "application/json; charset=utf-8";
varDataType = "jsonp";
varProcessData = true;
alert("GetEstimate");
new CallService();}

function CallService(){
alert("Inside Call Service");
"use strict";
$.ajax({
       type          : varType, //GET or POST or PUT or DELETE verb
       url           : varUrl, // Location of the service
       data          : varData, //Data sent to server
       contentType   : varContentType, // content type sent to server
       dataType      : varDataType, //Expected data format from server
       processdata   : varProcessData, //True or False
       success       : function(data) {//On Successfull service call
       alert("Success");
       var innerHtml = "";
       var rhigh=data.EstimateHigh;
       var rlow=data.EstimateLow;
       alert(rlow);
       $("#rHigh").html(rhigh);
       $("#rLow").html(rlow);                       
       $("#rHigh").formatCurrency();
       $("#rLow").formatCurrency();                 
       },
       //error: ServiceFailed // When Service call fails
       });}

希望它有所帮助!

答案 2 :(得分:0)

我懂了!!德鲁:我标记你回答关于*是正确的。谢谢你。我尝试了一些方法让它工作,所以我会列出我做了什么。我将IP更改为dns解析名称,我将Ip从Phonegap.plist中删除,所以只有*就在那里。然后我向ajax调用jsonp:'callback'添加了一行代码。不知道是哪一个做了,但它现在正在工作。