2015-11-28 12 views
15

मैं प्रतिक्रिया मूल का उपयोग कर एक साधारण ऐप विकसित कर रहा हूं। मैं एंड्रॉइड डिवाइस पर इसका परीक्षण कर रहा हूं। मैंने अनुरोधों को सुनने के लिए एक नोड.जेएस सर्वर बनाया है, यह http://localhost:3333/ पर चल रहा है। अगला, मैं index.android.js से एक fetch अनुरोध कर रहा हूँ। नीचे कोड है।प्रतिक्रिया मूल: त्रुटि अनुरोध त्रुटि के साथ विफल - TypeError: नेटवर्क अनुरोध विफल (...)

fetch('http://localhost:3333/', 
     { 
      'method': 'GET', 
      'headers': { 
       'Accept': 'text/plain',          
      } 
     }  
    ) 
.then((response) => response.text()) 
.then((responseText) => { 
    console.log(responseText); 
}) 
.catch((error) => { 
    console.warn(error); 
}); 

नोड सर्वर पर अनुरोध हैंडलर के लिए नीचे दिए गए कोड

app.use(function(req, res, next) { 
    res.header("Access-Control-Allow-Origin", "*"); 
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); 
    next(); 
}); 
app.use(express.static('public')); 
app.get('/', function(req, res){ 
    console.log('Request received for /'); 
    res.send("this is the response from the server"); 
    res.end(); 
}); 

लाने का अनुरोध काम नहीं कर रहा है लेकिन,। क्रोम कंसोल में जो त्रुटि आई है वह है: टाइप एरर: नेटवर्क अनुरोध विफल (...)।

यह काम कैसे करें?

उत्तर

27

चूंकि आपके एंड्रॉइड डिवाइस के पास आईपी है, इसलिए आपको केवल स्थानीयहोस्ट के बजाय यूआरएल को अपने कंप्यूटर आईपी पते पर इंगित करने की आवश्यकता है। उदाहरण के लिए fetch('http://192.168.0.2:3333/')

+0

धन्यवाद! इसने काम कर दिया। – Chetan

+0

मैं यूआरएल पर कॉल कर रहा हूं लेकिन अभी भी एक ही त्रुटि प्राप्त कर रहा हूं। fetch ('http://private-18642-test2979.apiary-mock.com/notes/1', { विधि: 'प्राप्त करें', 'शीर्षलेख': { 'स्वीकार करें': 'एप्लिकेशन/जेसन' , } –

+0

यह वास्तव में एक यूआरएल नहीं है, आपको प्रोटोकॉल भी जोड़ने की जरूरत है। – oblador

10

उपयोग रिवर्स Android डीबग ब्रिज उपकरण (एडीबी) की कमान:

adb reverse <remote> <local> - reverse socket connections. 
           reverse specs are one of: 
           tcp:<port> 
           localabstract:<unix domain socket name> 
           localreserved:<unix domain socket name> 
           localfilesystem:<unix domain socket name> 

उदाहरण के लिए:

adb reverse tcp:3333 tcp:3333 

यह localhost:3333 अपने डिवाइस से सुलभ बना देता है। आप विभिन्न बंदरगाहों का भी उपयोग कर सकते हैं। उदाहरण के लिए:

adb reverse tcp:8081 tcp:3333 

यह सेवा बंदरगाह के लिए डिवाइस पोर्ट 8081 रीडायरेक्ट करेगा 3333.

संबंधित मुद्दे