这是在Android模拟器中使用版本0.44.0的反应原生测试代码。我可以从许多网站获取数据,但有些网站无法获取。下面提供了一个这样的网站。
当我将本机版本升级到0.55.0时,我能够来获取数据。但是,在我的主项目中,我一直在使用版本0.44.0并且无法升级它。所以,我需要一个没有升级反应原生版本的解决方案。我已经浏览了很多stackoverflow页面并找到了ios,localhost等的解决方案。但是,无法找到解决此问题的任何解决方案。
import React, { Component } from 'react';
import { Text,View } from 'react-native';
export default class App extends Component {
checkaccess = () => {
url = 'https://example.com/wc-api/v3/'
fetch(url, {
method: 'GET',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
}
})
.then((response) => {
console.log('got')
// console.log(response.json())
return response.json()
})
.catch((error) => {
console.log('error',error)
})
.done()
}
render() {
return (
<View>
{this.checkaccess()}
<Text>test</Text>
</View>
);
}
}
控制台日志是:
error TypeError: Network request failed
at XMLHttpRequest.xhr.onerror (index.bundle:12366)
at XMLHttpRequest.dispatchEvent (index.bundle:13277)
at XMLHttpRequest.setReadyState (index.bundle:15382)
at XMLHttpRequest.__didCompleteResponse (index.bundle:15238)
at index.bundle:15333
at RCTDeviceEventEmitter.emit (index.bundle:3851)
at MessageQueue.__callFunction (index.bundle:2090)
at index.bundle:1948
at MessageQueue.__guard (index.bundle:2062)
at MessageQueue.callFunctionReturnFlushedQueue (index.bundle:1947)
答案 0 :(得分:0)
你应该试试这个
fetch(url, {
credentials: 'include',
...otherOptions,
});
对于其他选项或了解,请检查this关于github react-native问题的讨论