我需要在反应本机中发送图像和一些详细信息作为表单数据
为此,我使用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:我已经在邮递员上进行了测试,其工作正常
我在前端下载 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) 我在尝试将 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) 我在 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 …
"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) 我正在尝试通过 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)
};
我有一个 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) 我试图从共享托管服务器请求第三方服务器的 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)
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) 如何在 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)