在本地发布请求Axios:网络错误

时间:2020-10-16 06:25:41

标签: reactjs wordpress react-native axios wordpress-rest-api

我正在尝试在react-native应用程序中使用axios从我的Wordpress网站获取令牌。

不幸的是,我总是遇到网络错误。

我正在通过浏览主页检查设备上的SSL设置。关于SSL证书,我没有收到任何错误消息-因此,我假设它可以正常工作。我正在使用自己的根CA颁发的个人证书。我还在Windows和设备上都将根CA安装为受信任的根。

我还通过在Chrome中发布带有Servicstate插件的发布请求,检查了CORS设置以及URL的常规功能。通常,URL运行正常,根据Servistate,我从服务器收到以下标头:

access-control-allow-credentials    true
access-control-allow-headers        Authorization, X-WP-Nonce, Content-Disposition, Content-MD5, Content-Type
access-control-allow-methods        OPTIONS, GET, POST, PUT, PATCH, DELETE
access-control-allow-origin         *
access-control-expose-headers       X-WP-Total, X-WP-TotalPages, Link

我认为“来源”是最重要的CORS设置,应允许我的应用获取令牌。

由于我不明白自己在做什么错,这是我的示例代码:

app.js:

import * as React from "react";
import { View, Text } from "react-native";
import axios from './axios_wp';

export default function App() {
  
  var userData= {
    username: 'Username',
    password: 'password'
  };

  var response = axios
  .post('/wp-json/jwt-auth/v1/token', userData, {
    
    transformRequest: (data, headers) => {
        //delete headers.common['Content-Type'];
        //delete headers.common['Accept'];
      },
    headers: {'Accept': '*/*', 'Content-Type': 'multipart/form-data; boundary=----WebKitFormBoundarympjcGEkC776xQxM8'},
})
  .then((response) => {
    // Do something with the response    
    console.log('axios.resonse: ' + JSON.stringify(response));
    
  })
  .catch((err) => {
    console.log('axios: error: ' + JSON.stringify(err.config));
    console.log('\r');
    console.log(JSON.stringify(err));
  });
  
  return (
    <View
      style={{
        flex: 1,
        justifyContent: "center",
        alignItems: "center",
      }}
    >
      <Text>Universal React with Expo</Text>
    </View>
  );
}

axios_wp.js:

import axios from 'axios';

const axiosInstance = axios.create({
  //baseURL: process.env.REACT_APP_WORDPRESS_URL
  baseURL: 'https://wp-dev01.fire.fly',
//  headers: {'Content-Type': ''},
});

export default axiosInstance;

如您所见,我使用不同的标题打了Arround,但没用。

有谁可以帮助解决这个问题?

谢谢! 斯蒂芬

0 个答案:

没有答案