2016-06-14 23 views
0

下記のkony.net.httpRequestプロトコルを使用しているサーバーに接続できません。私は常に "サーバーエラー"のstatusTextを取得します。シンプルなkony.net.httpRequestが動作しない

function test(){ 
var xmlhttp = new kony.net.HttpRequest(); 
var url = "http://httpbin.org/get"; 
xmlhttp.open(constants.HTTP_METHOD_GET, url); 
xmlhttp.send(); 
xmlhttp.onReadyStateChange = function(){ sunsetCallback(xmlhttp) }; 
return; 
} 
function sunsetCallback(xmlhttp){ 
alert(xmlhttp.statusText); 
if (xmlhttp.responseType==constants.HTTP_RESPONSE_TYPE_DOCUMENT){ 
    sunrise.lblSunrise.text=xmlhttp.response; 
} 
sunrise.lblSunset.text="ayy lmao"; 
xmlhttp.suspend(); 
return; 
} 

何か助けてください! (私はopenReadyStateChangeラインをオープンの上下に配置しようとしましたが、sunsetCallback関数は実行されません)

答えて

1

問題は、iOSがplistを編集せずにget要求を送信することを許可しないという問題でした。要求をhttpsに変更し、App Transport Security Settings辞書をplistに追加したとき、問題は修正されました。

0

応答の操作を行う前に、リクエストのステータスを確認する必要があります。状態がの定数になったら操作を実行できます.HTTP_READY_STATE_DONE。

Please check the working code below:

function searchData(){ 
    srchKey = frmMain.txtData.text; 
    var request = new kony.net.HttpRequest(); 
    request.onReadyStateChange=httpCallbackHandler; 
    request.open(constants.HTTP_METHOD_GET, "http://yoururlorapi.com/search/"+srchKey); 
    request.setRequestHeader("x-header-appsecret",appsec); //Our own data 
    request.send(); 
} 

function httpCallbackHandler(){ 
    if(this.readyState == constants.HTTP_READY_STATE_DONE){  
    //alert(JSON.stringify(this.response)); 
    frmSearchRes.segRes.setData(this.response.searchInfo); 
    frmSearchRes.show(); 
    } 
} 

Hopeこのhelps!

関連する問題