2015-03-04 3 views
0
var xhr=Titanium.Network.createHTTPClient({ 
    onload:function(e){ 
    if(this.status == '200'){ 
      Ti.API.info('got my response, http status code ' + this.status); 
      if(this.readyState == 4){ 
       var response=JSON.parse(this.responseText); 
       success = true; 
       } 
      else{ 
       alert('HTTP Ready State != 4'); 
      }   
     } 
     else{ 
      alert('HTTP Error Response Status Code = '+this.status); 
      Ti.API.error("Error =>"+this.response); 
     }    
    }, 

}); 
xhr.onerror = function(e){ 
}; 

xhr.open("POST","http://localhost:23003/api/user?username=dp&password=123456" ,true);//ADD your URL 

xhr.setRequestHeader("content-type", "application/json"); 

xhr.send(); // Taa da 

Привет там, выше мой код, я пытаюсь отправить запрос на запись к процессу локального сервера, как указано в открытом методом . Но я использовал некоторые консольные сообщения, чтобы увидеть их на объектах, которые были возвращеныОтправка запроса на запись HTTPClient в Titanium

  1. this.responseText - Этот текст пуст. (Я знаю, что ява скрипт возвращает нуль по-разному и в предупреждении отображается сообщение 'нулевой' нулевой.)
  2. this.status - возвращает '0'
  3. this.readyState возвращает 4
  4. уаг ответ = JSON.parse (); это чистый текст
  5. Я попытался изменить тип содержимого -Применения/х-WWW-форм-urlencoded тоже, но я получаю те же результаты

Я понятия не имею, где я неправильно. Любая помощь будет оценена. Спасибо за ваше время.

+1

a/Вы можете попробовать изменить * localhost * в URL-адресе на ваш * IP-адрес *. b/попробуйте проверить веб-сервис с помощью [почтальон] (https://chrome.google.com/webstore/detail/postman-rest-client/fdmmgilgnpjigdojojpjoooidkmcomcm?hl=ru), чтобы подтвердить, что webservice работает нормально. – turtle

ответ

2

Это выглядит как-то не так с вашим сервером кода на стороне, так как следующий:

var xhr = Ti.Network.createHTTPClient({ 
    onload: function(e) { 
     console.info(this.status); 
     console.info(this.readyState); 
     console.info(this.responseText); 
    } 
    }); 
    xhr.open("POST", "http://requestb.in/ynwa0gyn"); 
    xhr.setRequestHeader("content-type", "application/json"); 
    xhr.send(); 

Правильно дает:

[INFO] 200 
[INFO] 4 
[INFO] ok 

Посещение http://requestb.in/ynwa0gyn?inspect для запроса, сделанного клиентом.

+0

Считаете ли вы, что это может быть связано с моим локальным брандмауэром или чем-то еще? – user1528506

+0

Это может быть. Вам нужно будет найти способ увидеть, как запрос поступает на ваш сервер и посмотреть, правильно это или нет. –

+0

Считаете ли вы, что настройки безопасности браузера или настройки безопасности Windows делают это? – user1528506

Смежные вопросы