0

我正在尝试使用 GET 方法获取 Api 的数据。它在 ios 中以 json 格式返回数据,但在 android 中它返回 html 脚本,如图所示,

在此处输入图像描述

 let response = await axios.get('https://xxxxxxxx.com/api/reactappsettings/react_get_all_settings/?insecure=cool',
    {headers:{
      'Content-Type': 'application/json;charset=UTF-8',
      'Accept' : 'application/json',
      "Access-Control-Allow-Credentials": true,
    },withCredentials:true})
  
     console.log("======>",response);

由于这个问题,我被困在这里,有什么解决方案吗?

我还尝试使用 react-native-cookie 来处理 cookie。

CookieManager.get('https://mvhardhats.com')
    .then(async (res) => {
      console.log('CookieManager.get =>', res);
       await axios.get(
        `https://mvhardhats.com/api/reactappsettings/react_get_all_settings/?insecure=cool`,
        {
          headers: {
             Cookie:`visid_incap_2485071=${res.visid_incap_2485071}; incap_ses_882_2485071=${res.incap_ses_305_2485071}`,
          },
          withCredentials:true
        },
      ).then((data)=>{
        console.log(data)
      })
       // => 'user_session=abcdefg; path=/;'
    })

但即使在我得到饼干后它仍然返回 html。

4

1 回答 1

0

检查应用程序中的白名单规则并尝试以下代码:

需要在响应上使用 .json()。

let response = await axios.get('https://mvhardhats.com/api/reactappsettings/react_get_all_settings/?insecure=cool', {
  headers: {
    'Accept': 'application/json',
    'Content-Type': 'application/json',
  }
}).then((response) => response.json())
.then((response) => {
  console.log("======>",response);
});
于 2021-03-13T07:44:43.483 回答