PhoneGap plist: Может ли внешний хост иметь IP-адрес? - PullRequest
1 голос
/ 17 февраля 2012

Просто попадаю в разработку PhoneGap на Mac.У меня есть служба .NET, размещенная на сервере, которому не назначен DNS.Могу ли я использовать IP-адрес в phonegap.plist?Мой код работает в браузере и даже как веб-версия на реальном iphone.Вскоре, когда я компилирую из xcode, он, похоже, не работает (даже на эмуляторе).Я пропустил этот js через lint, и теперь я в затруднительном положении ... Вот что я пытаюсь сделать.

Я вызываю 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 голосов
/ 19 февраля 2012

После просмотра вашего кода снова возникает проблема.Поэтому вам всегда нужно занести в белый список свои домены, но в дополнение к этому убедитесь, что ваш ajax вызывается правильно.

Вы комбинируете URL и данные, они должны быть отдельными вещами.У вас есть вызов 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
       });}

Дайте этому шанс, надеюсь, это поможет!

0 голосов
/ 25 февраля 2012

Я понял !! Дрю: Я отметил твой ответ о * как правильный. Спасибо за это. Я попробовал несколько вещей, чтобы заставить это работать, поэтому я перечислю то, что я сделал. Я изменил IP-адрес на имя, разрешающее DNS, я удалил Ip из Phonegap.plist, так что там был только *. Затем я добавил строку кода в вызов ajax jsonp: 'callback'. Не уверен, кто это сделал, но сейчас работает.

0 голосов
/ 17 февраля 2012

Просто добавьте новую запись в ваш список и получите значение *.Это ловушка для всех доменов.:)

...