मुझे नोड से Yii2 api के लिए अनुरोध करना है। यह कोई त्रुटि नहीं देता है, लेकिन कुछ भी वापस नहीं करता है। जब मैं सीधे ब्राउज़र में Yii2 api विधि के लिए अनुरोध करता हूं, तो मान वापस कर दिया जाता है। यहाँ नोड में मार्ग में मेरा अनुरोध है:
router.get('', function (req, res) {
var parameter = 20;
request({
url: 'http://**.**.**.***:8000/web/index.php?r=api/get-value',
parameter: parameter,
method: 'GET'
}, function(error, response, body) {
if(error || response.statusCode != 200)
throw error;
res.send(body);
});
});
module.exports = router;
और यहाँ Yii2 नियंत्रकों/apiController.php में विधि/समापन बिंदु है:
public function actionGetValue($inverterId) {
return $inverterId * 2;
}
कोई सुझाव क्या गलत/गायब हो सकता है?
1 उत्तर
ठीक है, मुझ पर शर्म आती है, मैंने जांच नहीं की, apiController.php में सार्वजनिक कार्य से पहले कार्रवाई ($ कार्रवाई) में क्या चल रहा है - चूंकि getValue() को समाप्त करने का अनुरोध "बाहर" से किया जाता है, यह एक शर्त के तहत आता है, जो आगे की कार्रवाइयों की अनुमति नहीं देता है और झूठी वापसी करता है - यही कारण है कि प्रतिक्रिया नहीं बदल रही थी इससे कोई फर्क नहीं पड़ता कि क्या किया गया था/getValue() में सेट किया गया था।
संबंधित सवाल
जुड़े हुए प्रश्न
नए सवाल
node.js
Node.js एक घटना-आधारित, गैर-अवरोधक, अतुल्यकालिक I / O रनटाइम है जो Google के V8 जावास्क्रिप्ट इंजन और libuv लाइब्रेरी का उपयोग करता है। इसका उपयोग उन अनुप्रयोगों को विकसित करने के लिए किया जाता है जो क्लाइंट पर और साथ ही सर्वर साइड पर जावास्क्रिप्ट को चलाने की क्षमता का भारी उपयोग करते हैं और इसलिए कोड के पुन: प्रयोज्य और संदर्भ स्विचिंग की कमी से लाभान्वित होते हैं।