我正在研究react-native和asp.net核心api。我的asp.net api在https://localhost:44388/上运行,因此,我将此来源作为url放在fetch()
中。这引发了错误。我什至建议我将笔记本电脑的IP地址代替本地主机。而且,当我在android设备上进行检查时,该操作无效。
getProducts(){
console.log("Hello");
fetch("https://<MY_IP_ADDR>:44388/api/product/getproducts/", {
method: 'get',
headers: {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Mehods': '*',
'Access-Control-Allow-Headers': '*',
'Access-Control-Allow-Credentials': '*',
}
})
.then(data => {
if (!data.ok) {
console.log("Inside product fetch: Error fetching")
} else {
return data.json()
}
}).then(data => this.setState({ products: data }))
.then(data=>console.log(data))
.catch(e => {
console.log(e);
})
}
<View>
<Text>Products</Text>
<TouchableOpacity onPress={() => this.getProducts()}>
<Text>getProducts</Text>
</TouchableOpacity>
</View>
当我按下getProducts按钮时,它仅输入方法getProducts()
并在控制台上打印“ Hello”,但流程没有输入fetch()
方法。我的都市捆绑器正在端口8081上运行。建议我更改该端口。因此,我尝试通过命令react-native start --port 44388
进行更改,但这会在event.js:174上引发错误。而且cors没有问题,因为我在后端部分启用了cors,该功能在react应用程序中可以正常使用。
我将如何在Android设备中调用localhost api?