2016-12-06 399 views
0

請幫我解決這個問題 我想轉到另一幀後的HTTP模塊完成其請求裏面。代碼如下:瀏覽HTTP模塊nativescript

var datanya = 'token='+konfigurasi.tokenapps+'&email='+inputan['email']+'&nama='+inputan['nama']+'&handphone='+inputan['handphone']+'&alamat='+inputan['alamat']+'&longitude='+longi+'&latitude='+lat    +'&model='+cekPlatform.device.model+'&tipe='+cekPlatform.device.deviceType+'&manufaktur='+cekPlatform.device.manufacturer 
+'&region='+cekPlatform.device.region; 
httpModul.request({ 
        url: 'http://example.com/c_user/daftar/', 
        method: "POST", 
        timeout: 10000, 
        headers: { "Content-Type": "application/x-www-form-urlencoded" }, 
        content: datanya 

       }).then(function(response){ 
        //console.log(JSON.stringify(response)); 
        //console.log(response); 

        console.log('data diterima : '+response.content); 
        var jsondata = response.content.toJSON(); 
        console.log('JSON Data hasil '+JSON.stringify(response.content)); 
        loader.hide(); 
        if(jsondata.hasil=='error'){ 
         console.log('error '+jsondata.alasan); 
         Toast.makeText(jsondata.alasan, "long").show(); 
        }else{ 
         console.log('success : '+jsondata.alasan); 
         Toast.makeText(jsondata.alasan, "long").show(); 

         //navigate 
         fm.topmost().navigate("otp/cek_daftar"); 
         console.log('navigation passed'); 

        } 
       },function(err){ 
        //return error; 
        Toast.makeText('Error : '+err, "long").show(); 
        console.log(err); 
       }) 

但它不會與導航工作。從搜索我得到的信息http模塊使用異步也許它不會與導航使用同步。

謝謝

回答

0

您可以在下載承諾處理程序中正常導航;我在我的一個項目中這樣做;下載訂單,然後導航到訂單屏幕。然而,有兩件事情可能是:

  1. 是否FM = require ('ui/frame');

  2. 在你瀏覽你試過.navigate('~/otp/cek_daftar');

  3. 你有沒有試圖把一個try/catch周圍的導航看爲什麼網頁無法瀏覽過,你可能在該頁面中的錯誤,所以它失敗...

  4. 您是否獲得了控制檯:console.log('data diterima : '+response.content);