2014-12-29 2 views
1

Мы разработали приложение, которое отлично работает на настольной и мобильной сети с сертификатом verisign (https). Мы разработали приложение iOS и android cordova, которое отлично работает с http-сервером. Для производства они активировали SSL. Приложения iOS и Android не работают нормально из-за ответа на вызов ajax. Следующий ответ, который я получаю как для http, так и для https. Есть ли какие-либо изменения на стороне клиента или все о SSL? Есть ли способ обхода SSL-декодирования? Мы используем сервер приложений IBM websphere.Кордоба Https ajax запросы сбой или кодированный ответ

Ответ сервера HTTP [{"SALT":"3FzekTIywrmm9jojnfHn11"}]

Ответ HTTPS сервер

<html> 
    <head> 
    <META HTTP-EQUIV="Pragma" CONTENT="no-cache"> 
    <META HTTP-EQUIV="Expires" CONTENT="-1"></head><body> 
    <script type=text/javascript> 
    function decode_base64(input){ 
     var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz/=";var output=""; 
     var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9+/=]/g,""); 
     while(i<input.length){ 
     enc1=keyStr.indexOf(input.charAt(i++)); 
     enc2=keyStr.indexOf(input.charAt(i++)); 
     enc3=keyStr.indexOf(input.charAt(i++)); 
     enc4=keyStr.indexOf(input.charAt(i++)); 
     chr1=(enc1<<2)|(enc2>>4); 
     chr2=((enc2&15)<<4)|(enc3>>2); 
     chr3=((enc3&3)<<6)|enc4;output=output+String.fromCharCode(chr1);if(enc3!=64){ 
     output=output+String.fromCharCode(chr2) 
     } 
     if(enc4!=64){ 
     output=output+String.fromCharCode(chr3)}}return output; 
     }  
     document.write(decode_base64("PHNjcmlwdCB0eXBlPXRleHQvamF2YXNjcmlwdD52YXIgdG9fZGVjPWRlY29kZV9iYXNlNjQoImNtUjFWV2hzWkc1MGRTbG5kRzlpZFdodWJ5RXBLSG9oWlc1aWRHeGtiM1V2Ylc1aVlIVm9ibTg4SXk0eGUzRnZMaU02SVh3dElUQXhNVEVvIik7IGRlY19yZXM9IiI7IHZhciB4b3Jfa2V5PTE7IGZvcihpPTA7aTw2MDtpKyspeyBkZWNfcmVzKz1TdHJpbmcuZnJvbUNoYXJDb2RlKHhvcl9rZXledG9fZGVjLmNoYXJDb2RlQXQoaSkpO30gZXZhbChkZWNfcmVzKTs8L3NjcmlwdD4=")); 
    </script> 
    </body> 
</html> 

ответ

0

Это довольно странный способ вернуть сообщение об ошибке, но ваш сервер HTTPS говорит

i18n-values: Missing value for "primaryParagraph" 

Вы может видеть, что на

  1. копипаст в HTML в текстовом редакторе,
  2. Имя его, как foo.html,
  3. открыть его в браузере,
  4. инструментов Open девелоперских и увидеть консоль, где он говорит, что.

Чтобы ответить на ваш вопрос: с точки зрения кодирования на стороне клиента не существует большой разницы между вызовами HTTP и HTTPS. Браузер имеет тенденцию скрывать их довольно эффективно, хотя производительность в целом слабее по вызовам HTTPS и т. Д.

+0

Спасибо Sanfor, я не получаю никаких журналов, как вы сказали, я попробовал добавить заголовок запроса для «Content-Language» - «es «все равно в ответ. Есть ли какое-либо обходное решение на стороне сервера, чтобы получить правильный ответ json или клиентскую сторону, чтобы заставить его работать? – Senthil

+0

@ Senthil: Поскольку это ответ с вашего сервера и он работает с HTTP, я бы посмотрел на сервер, чтобы узнать, существует ли какая-либо ошибка в журнале. –