我使用的是React原生0.44,Fetch API和Laravel 5.3 API。
当我尝试使用Fetch API获取URL时,它不提供输出或响应。
由于localhost:8000
无法在Fetch API中使用,我尝试使用wifi ipaddress。
doSignUp() {
console.log("inside post api");
fetch('http://192.168.43.244:8000/api/user?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOjE0NywiaXNzIjoiaHR0cDpcL1wvbG9jYWxob3N0OjgwMDBcL2FwaVwvYXV0aGVudGljYXRlIiwiaWF0IjoxNDk2MjA0ODgwLCJleHAiOjE0OTYyMDg0ODAsIm5iZiI6MTQ5NjIwNDg4MCwianRpIjoiRGdtSDNSWXl4MEtUZWs2YSJ9.yc0FvK5uJz8rzDWAZLwweDMrz6ljTWkTzvxgtCjEqAc', {
method: 'GET',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
},
}).then((response) => response.json())
.then((responseJSON) => console.log("inside responsejson"))
.catch(e=>console.error(e))
.done();
}
答案 0 :(得分:0)
我遇到了同样的问题,我使用npm es6-promise和isomorphic-fetch包解决了它。试一试
import fetch from 'isomorphic-fetch';
require('es6-promise').polyfill();
你可以像
一样使用它fetch('/holidays/occasion', {
credentials: 'same-origin',
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
state: evt.target.value
})
});
},
答案 1 :(得分:0)
尝试通过尝试检查状态是否正常
fetch('http://192.168.43.244:8000/api/user?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOjE0NywiaXNzIjoiaHR0cDpcL1wvbG9jYWxob3N0OjgwMDBcL2FwaVwvYXV0aGVudGljYXRlIiwiaWF0IjoxNDk2MjA0ODgwLCJleHAiOjE0OTYyMDg0ODAsIm5iZiI6MTQ5NjIwNDg4MCwianRpIjoiRGdtSDNSWXl4MEtUZWs2YSJ9.yc0FvK5uJz8rzDWAZLwweDMrz6ljTWkTzvxgtCjEqAc', {
method: 'GET',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
}}).(res => {
if (res.status === 'OK') {
console.log('I should be getting the data')
return res.json()
}
}).then(res => console.log(res))
答案 2 :(得分:0)
运行命令adb reverse tcp:8000 tcp:8000并重新加载应用程序。
答案 3 :(得分:0)
Fetch是一个低级别的库,如果你想要保持理智,不建议使用它。实际上,fetch仅在遇到网络错误时拒绝承诺。所有其他http错误将进入您检查if (response.ok)
对于我的本机反应项目,我正在使用此包axios。
此外,请注意,如果您使用的是iOS本地项目,除了本地主机以外的任何地址都将被拒绝,并且可能会无声地失败,因为除了https之外的所有通信都不允许 App Transport Security。我相信这就是你所面对的
答案 4 :(得分:0)
为什么你正在使用方法Get,Header类的AJAX请求。您可以使用在官方文档中解释的简单提取。react-native fetch api
答案 5 :(得分:0)
使用生产服务器网址解决了这个问题。
问题是fetch api,而且axios也无法访问localhost。
答案 6 :(得分:0)
尝试在您的提取选项中添加键值对credentials: 'include'
。 RN 0.44引入了withCredentials XHR标志,您可以看到here。