标签: axios

Axios 发布表单数据在 React Native 中无法正常工作

我需要在反应本机中发送图像和一些详细信息作为表单数据

为此,我使用axiospost 方法。

这是我的代码:

const formData = new FormData();

formData.append('taskId', taskId);
formData.append('taskName', taskName);
formData.append('projectId', projectId);
formData.append('projectName', projectName);
formData.append('media', media);

const res = await Axios.post(`${URL}`, formData, {
  headers: {
    Authorization: `Bearer ${token}`,
    'Content-Type': 'multipart/form-data',
  },
});
Run Code Online (Sandbox Code Playgroud)

我的服务器获取的媒体文件为空..任何人都可以知道我在这里做错了什么!?

这是我的请求标头: 我的请求标头

PS:我已经在邮递员上进行了测试,其工作正常

javascript multipartform-data react-native axios

1
推荐指数
1
解决办法
2392
查看次数

从 API 响应下载 excel 文件(Vue.JS - 前端,Flask 后端)

我在前端下载 Excel 文件时遇到一些困难,该文件是通过 API 响应获得的,该响应是我对 Flask 后端进行的。

这是我到目前为止所拥有的:

烧瓶(后端)

...
generator.generate_excel_report()
return send_file(
    generator.get_excel_report(), # returns location to generated file
    mimetype=sc.CONTENT_TYPE_EXCEL, # application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
    as_attachment=True
)
...
Run Code Online (Sandbox Code Playgroud)

我已经通过 Postman 测试了这一点,我可以从那里下载此 Excel 报告,一切似乎都正常。

Vue.JS(前端)

在这里,我向 Flask 后端发出请求,后端返回正文中的文件:

    /**
     * Download Excel version of the report
     */
    downloadExcelReport(data) {
      SERVICE.post(
      `/api/v1/project/${this.projectNumber}/${this.variantName}/${this.buildNumber}/report/excel`, {
            responseType: 'arraybuffer'
          }).then((response) => getExcelReport(response.data))
     },
Run Code Online (Sandbox Code Playgroud)

这里的getExcelReport函数:

/**
 * Make a POST request to the back-end that will generate an Excel sheet
 * for the project, and return it.
 */ …
Run Code Online (Sandbox Code Playgroud)

rest excel flask vue.js axios

1
推荐指数
1
解决办法
2960
查看次数

Django 和 Axios 禁止(CSRF 令牌丢失或不正确。)

我在尝试将 Django 服务器连接到 axios 时遇到问题。这应该是一个简单的修复,但我被困住了!

我从 Django 服务器收到此错误:

[23/Aug/2021 19:25:36] "POST /subscription HTTP/1.1" 403 2519
Forbidden (CSRF token missing or incorrect.): /subscription
Run Code Online (Sandbox Code Playgroud)

这是我正在使用的方法:

const newsletterSignUp = async function (email) {
  try {
    let res = await axios({
      method: "post",
      url: "http://127.0.0.1:8000/subscription",
      data: { email: email },
    });

    return res;
  } catch (err) {
    console.error(err);
    return err;
  }
Run Code Online (Sandbox Code Playgroud)

我尝试添加自定义标头,但我认为名称中的破折号引起了问题,而且我不知道如何解决它。

headers: { set-cookie: "csrftoken=ee95ec102d0d884ea95eb09cb421cdd8382aed79" }

Run Code Online (Sandbox Code Playgroud)

我知道我的 Django 代码很好,因为它可以在浏览器中运行。我已附上它以供参考。

索引.html

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Email subscriptions</title>

    <!-- Bootstrap --> …
Run Code Online (Sandbox Code Playgroud)

javascript python django django-rest-framework axios

1
推荐指数
1
解决办法
1503
查看次数

Axios CORS 无法在 chrome 部署的站点上工作

我在 VueJS 应用程序中有以下方法:

const downloadImageBase64 = async imageUrl => {
  try {
    var result = await axios({
      method: "get",
      url: imageUrl,
      responseType: 'blob',
      crossdomain: true
    });

    return blobToBase64(result.data);
  }
  catch (err) {
    console.log("err: ", err);
    return "";
  }
};
Run Code Online (Sandbox Code Playgroud)

我正在下载图像并将它们作为 base64 字符串返回,因为我将它们嵌入到使用 JSPDF 创建的 PDF 中。图像本身托管在 AWS S3 中。我在适当的 S3 存储桶中设置了 CORS 策略:

[
  {
    "AllowedHeaders": [
      "*"
    ],
    "AllowedMethods": [
      "GET"
    ],
    "AllowedOrigins": [
      "https://mydomain.co.za"
      "http://localhost:8082"
    ],
    "ExposeHeaders": [],
    "MaxAgeSeconds": 3000
  }
]
Run Code Online (Sandbox Code Playgroud)

在我的本地主机上运行应用程序时,FireFox 和 Chrome 均可成功下载图像:

在此输入图像描述

然而,当我将应用程序部署到临时环境时,下载开始失败,并出现 CORS …

amazon-s3 cors axios

1
推荐指数
1
解决办法
2540
查看次数

如何修复React中的map is not a function错误?

"map" is not a function我在进行 API 调用时遇到错误。我不久前才开始学习 React 和 API。我尝试将状态更改为 object 但未定义,如[].
我得到的地图不是一个函数。也许我缺少调用 API 的东西。这是下面的代码


function Facility() {
  
  const [facility, setFacility] = useState([]);

 try {
      const fetch = await Axios.get(
        //API
      )
      //setFacility(fetch.data);
    console.log('result', fetch.data);
    } catch (err) {
      console.log(err);
    }
  };


  return (      
        <Table  >
          <TableHead>
            <TableRow>
              <TableCell />
              <TableCell >
                Facility Code
              </TableCell>
              <TableCell >
                Facility Name
              
            </TableRow>
          </TableHead>
          <TableBody>
            {facility.map((item, idx) => {
              return (
                <>
                  <TableRow
                    key={idx}
                  >
                   
                    <TableCell >
                      {item.facility_code}
                    </TableCell>
                    <TableCell>{item.facility_name}</TableCell> …
Run Code Online (Sandbox Code Playgroud)

reactjs axios react-functional-component

1
推荐指数
1
解决办法
1万
查看次数

无法将 React 状态设置为对象数组

我正在尝试通过 Axios get 请求将 React 状态设置为对象数组。但是,当我尝试更新状态时,它显示为空数组。

我知道我从 API 收到了正确的响应,所以我认为在更新状态时我遗漏了一些东西。

这是我的代码:

const Home = () => {
const [movieTitle, setMovieTitle] = useState('');
const [searchResults, setSearchResults] = useState([]);

const handleChange = (e) => {
    setMovieTitle(e.target.value);
};

const getMovieData = () => {
    const apiKey = 'didntleakit';
    const apiUrl  = 'http://www.omdbapi.com/?apikey=' + apiKey + '&s=' + movieTitle;
    Axios.get(apiUrl)
        .then((res) => {
            setSearchResults(res.data.Search);
        });
    console.log(searchResults);
};

return(
    <div>
      <p>Home page</p>
      <TextField defaultValue="Movie" onChange={(e) => handleChange(e)}/>
      <button onClick={getMovieData}/>
    </div>
);
Run Code Online (Sandbox Code Playgroud)

};

reactjs axios

1
推荐指数
1
解决办法
1301
查看次数

React-useEffect 中存在无限循环问题

我有一个 useEffect() 通过 axios 获取数据,我希望它只渲染一次,所以我传递了一个数组。一切正常,但问题是每当我尝试对项目进行排序时,第二个 useEffect 会在第一个 useEffect 之后触发,这导致组件一次又一次地获取所有项目。

const [products, setProducts] = useState([]);

useEffect(() => {
    const getProducts = async () => {
      return await axios
        .get('/getAllProducts')
        .then((response) => {
          setProducts(response.data);
          console.log(products);
        })
        .catch((e) => {
          console.log(e);
        });
    };
    getProducts();
  }, [products]);
Run Code Online (Sandbox Code Playgroud)

reactjs axios

1
推荐指数
1
解决办法
326
查看次数

Nodejs Axios 错误:主机名/IP 与证书的替代名称不匹配:“主机:(URL)。不在证书的替代名称中:DNS:*.sa-east-1.es.amazonaws.com”

我试图从共享托管服务器请求第三方服务器的 API,所以我没有 root 访问权限,并收到此错误,但是当我在失眠中尝试它时,它正常工作,显然是由于它的原因代理或证书。已经尝试httpsAgent: new https.Agent({ rejectUnauthorized: false })在 axios 请求选项中使用,并尝试过 NODE_TLS_REJECT_UNAUTHORIZED=0,但没有成功。我没有粘贴证书和服务器信息信息,但如果有必要,我可以分享它。这就是我提出请求的方式:

async appInfo(){
    
    var config = {
      method: 'get',
      url: `${this.url}/api/v2/me/shipment/app-settings`,
      headers: { 
        'Accept': 'application/json', 
        'Authorization':`Bearer ${this.bearer}`, 
        'User-Agent': this.user_agent
      }
    };
    
    var response = await axios(config)
    console.log(JSON.stringify(response.data));
  }
Run Code Online (Sandbox Code Playgroud)

proxy request ssl-certificate node.js axios

1
推荐指数
1
解决办法
7619
查看次数

axios.post发送两次请求

axios.post我在使用相同的正文发送两次相同的请求时遇到问题。我尝试用谷歌搜索这个问题,但一无所获。我该如何修复它?

要求

应用程序.js

import logo from './logo.svg';
import './App.css';
import Register from "./register";
import SendToken from "./sendToken";
import {BrowserRouter, Routes, Route} from "react-router-dom";
import Confirmation from "./Confirmation";

import {useParams} from "react-router-dom";

function App() {
  return (
      <BrowserRouter>
          <div>
              <Routes>
                  <Route path="/registration" element={<Register/>}/>
                  <Route path="/confirmation" element={<Confirmation/>}/>
                  <Route path="/account/registrationConfirm/:data" element={<SendToken/>}/>
              </Routes>
          </div>
      </BrowserRouter>

  );
}

export default App;
Run Code Online (Sandbox Code Playgroud)

发送令牌.js

import axios from 'axios';

const SendToken = () => {
    let parts = window.location.href.split('/');
    let length = parts.length;
    let token = parts[length - …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs axios

1
推荐指数
1
解决办法
2167
查看次数

错误:多部分:未找到 axios 请求边界(React Native)

如何在 axios post 请求中设置标头?我不断收到 Multipart:Boundary not found (React Native)

我尝试将边界设置为任意数字,但仍然不起作用。- 'Content-Type': 'multipart/form-data; boundary=--hadhba122--'

import axios from 'axios'


### upload image section ###
const uploadImage = async (uri: string) => {
  let fileType = uri.substring(uri.lastIndexOf('.') + 1)
  const baseUrl = 'localurl'
  const formData = new FormData()
  const imageJSON = {
    uri,
    type: `image/${fileType}`,
    name: `photo.${fileType}`,
  }

  formData.append('image', imageJSON)
  const config = {
    headers: {
      'Content-Type': 'multipart/form-data;',
    },
    data: formData,
  }
  return await axios
    .post(baseUrl, formData, config)
    .then((result) => {
      console.log('i am …
Run Code Online (Sandbox Code Playgroud)

node.js react-native axios

1
推荐指数
1
解决办法
2623
查看次数