목차
浏览器结果分析
get 请求
出现两种的原因
브라우저 결과 분석
node 백그라운드에서 파라미터 수신
java code> 백그라운드에서 매개변수를 받는 방법
get request
두 가지 이유가 있습니다
데이터
总结
params
요약
웹 프론트엔드 View.js Axios에서 매개변수를 전달하는 두 가지 방법에 대해 자세히 설명하는 기사가 있습니다.

Axios에서 매개변수를 전달하는 두 가지 방법에 대해 자세히 설명하는 기사가 있습니다.

Aug 10, 2022 am 09:15 AM
axios

axios http 요청 라이브러리를 보내기 위해 클라이언트 또는 서버에 사용할 수 있다는 것은 누구나 잘 알고 있습니다. . 하지만 프런트엔드와 백엔드를 공동으로 디버깅할 때 때로는 불편할 수 있으므로 여기에서 요약하겠습니다. 운명이 정해져 있는 사람에게 도움이 되기를 바랍니다. axios 大家都非常的清楚,一个既可以用于客户端或者 服务端发送http请求的库。但是在前后端联调的时候有的时候会很难受,所以这里我来做一个总结。希望能帮助到有缘人。

参数的传递方式【相关推荐:vue.js视频教程

参数传递一般有两种,一种是 使用 params, 另一种是 data的方式,有很多的时候我们看到的前端代码是这样的 

get 请求

axios({
    method: 'GET',
    url: 'xxxxx',
    params: param,
  })
或者 
axios({
    method: 'GET',
    url: '/xxx?message=' + msg,
  })
로그인 후 복사

post 请求

axios({
    method: 'POST',
    url: '/xxxxx',
    data: param,
  })
  或者
 axios({
    method: 'POST',
    url: '/xxxxx',
    params: param,
  })
로그인 후 복사

正确传递

传递参数的解决办法分为post和get,咋们从这里来看一下 

<span style="background-color:#cccccc;">post</span> 

post 是大多数人会搞错的,咋们来看看。 

 <span style="background-color:#cccccc;">data</span> 的形式

从例子中说话,使用的案例代码是post参数,并且没有做任何的转码。 

method: 'POST',
    url: '/xxxxx',
    data: param,
  })
로그인 후 복사

 控制台结果

 使用data传递的是一个对象,在控制台中看到的话是 request payload 

node 后台接收参数的方式 

这里我采用的是koa 来搭建的后台。需要使用 koa-bodyparser 这个插件来解析body 的参数

import Koa from 'koa';
import bodyParser from 'koa-bodyparser'
const app = new Koa();


app.use(bodyParser());

app.listen(9020, () => {
  console.log('the server is listen 9020 port');
})
로그인 후 복사

接受方式如下:

java 后台接收参数的方式

对于 java 来说,本人并不是那么熟悉,但是知道的是。如果需要接受axios 以data 传递的参数。需要使用注解 @responseBody 并且使用的是实体类来接收的.

post data 的形式 ,不管是 哪种服务端的语言,都需要从body中获取参数。主要用于 传递 对象的参数,后台拿到的数据是一个 obj。 data 形式的数据有可以做好多事情, 文件上传表单提交 等

params 的形式

这个是一个对象形式传递的,案例代码如下:

 axios({
    method: 'POST',
    url: '/xxxxx',
    params: param,
  })
로그인 후 복사

浏览器结果分析

查看view sourcer 如下:

node 后台接收参数的方式

启动服务和上面一样,但是接收参数的方式有点变化

java 后台接收参数的方式

这个本人搞不来 ,理论上是从地址栏上获取参数。应该也是 可以使用注解 @resquestParam吧

get 请求

get 请求不管使用哪种方式,最后的参数都会放到路径上。 使用param 只是axios帮你把这个参数进行了序列化,并且拼接在 url上面。原因的话,请查看下面

出现两种的原因

遇到这个问题,咋们就需要去看 axios 的源码了.这里 只会看处理参数的部分。有兴趣的自己去查看源码。

处理data

axios文件中 的 core/dispatchRequest.js 中,我们可以看到 ,axois会 data

매개변수 전달 방법 [관련 권장사항: vue.js 동영상 튜토리얼 a >】🎜🎜🎜매개변수를 전달하는 방법에는 일반적으로 두 가지가 있습니다. 하나는 params를 사용하는 것이고, 다른 하나는 data를 사용하는 것입니다. 코드는 이렇습니다 🎜🎜get request🎜rrreee🎜post request🎜rrreee🎜올바르게 전달되었습니다🎜🎜🎜매개변수 전달에 대한 해결책은 post와 get으로 나누어져 있으니 여기서 살펴보겠습니다🎜 🎜<span style="Background-color:#cccccc;">게시물</span> span> 🎜🎜🎜post는 대부분의 사람들이 틀리는 부분입니다. 한번 살펴보겠습니다. 🎜🎜 <span style="Background-color:#cccccc;">데이터</span> 양식🎜🎜 사례를 사용하여 이야기해 보겠습니다. code는 게시 매개변수이며 트랜스코딩이 수행되지 않습니다. 🎜

🎜rrreee 🎜 콘솔 결과🎜

🎜🎜🎜 데이터를 사용하여 전달되는 것은 콘솔에서 볼 때 요청 페이로드 🎜

🎜🎜노드 수신 방법 백그라운드 매개변수 🎜🎜🎜여기서는 koa를 사용하여 백엔드를 구축합니다. body의 매개변수를 구문 분석하려면 koa-bodyparser 플러그인을 사용해야 합니다. 🎜rrreee🎜수락 방법은 다음과 같습니다. 🎜

🎜

java 백그라운드에서 매개변수 수신 방법

🎜🎜저는 Java에 대해 그다지 익숙하지는 않지만 알고 있습니다. data와 함께 axios가 전달한 매개변수를 허용해야 하는 경우. @responseBody 주석을 사용하고 이를 수신하려면 엔터티 클래스를 사용해야 합니다.🎜

🎜🎜🎜포스트 데이터 형식, 어떤 서버 언어를 사용하든 관계없이 필요합니다. body에서 매개변수 가져오기부터 시작합니다. 주로 객체 매개변수를 전달하는 데 사용됩니다. 백그라운드에서 얻은 데이터는 obj입니다. 데이터 형식의 데이터는 파일 업로드, 양식 제출 등 다양한 작업을 수행할 수 있습니다. 🎜

매개변수 format h3>🎜객체 형태로 전달됩니다. 케이스 코드는 다음과 같습니다.🎜

🎜rrreee

브라우저 결과 분석

🎜🎜다음과 같이 뷰 소스를 봅니다:🎜

🎜

node 백그라운드에서 파라미터 수신

🎜🎜서비스 시작 방법은 위와 동일하지만, 파라미터 수신 방법이 살짝 다릅니다🎜

🎜

java code> 백그라운드에서 매개변수를 받는 방법

🎜🎜이것을 알 수 없습니다. 자, 이론적으로 매개변수는 주소 표시줄에서 가져옵니다. @resquestParam🎜

get request

🎜🎜get request 주석도 사용해야 합니다. 어떤 방법을 사용하든 마지막 매개변수가 경로에 배치됩니다. param을 사용한다는 것은 axios가 이 매개변수를 직렬화하고 이를 URL에 연결한다는 것을 의미합니다. 그 이유는 아래에서 확인해주세요🎜

두 가지 이유가 있습니다

🎜🎜이 문제가 발생하면 axios의 소스 코드를 살펴봐야 합니다. 처리 매개변수에 대한 부분만 살펴보겠습니다. 관심이 있으시면 소스코드를 직접 확인해 보세요. 🎜

데이터

처리🎜🎜 axios 파일의 core/dispatchRequest.js에서 우리는 다음과 같이 합니다. 보시다시피, axois데이터🎜입니다.

axiosdefault.js에는 data 매개변수를 구체적으로 변환하는 함수가 있습니다. axios 的 default.js 中,有一个函数专门转换 data 参数的 。

注意: 上面只是举例 data 传递参数的一种情况哈!其实data 也有在地址栏 上 拼接的情况,或者 是文件上传的等情况。太多了,这里 只是讲清楚使用的方式。

处理 params

axios文件中 的 adapt/ xhr.js 中,我们可以看到 ,axois会 params的参数放到url路径中。

buildUrl 一些关键代码如下 :

总结

其实前端和后端 对接参数过程,对于post请求,data 不行,那就使用 params

🎜🎜🎜🎜참고: 위의 내용은 매개변수를 전달하는 data의 예일 뿐입니다! 실제로 주소 표시줄에도 데이터가 엮여 있거나, 파일이 업로드되어 있습니다. 너무 많아서 여기서는 사용법만 설명하겠습니다. 🎜🎜

params

처리 중🎜🎜 axios 파일의 adapt/ xhr.js에서 axois는 params 매개변수를 url 경로에 넣습니다. 🎜🎜🎜🎜🎜buildUrl 일부 키 코드는 다음과 같습니다. 🎜🎜 🎜

요약

🎜In 실제로 프런트엔드 및 백엔드 도킹 매개변수 프로세스에서 post 요청의 경우 data가 작동하지 않는 경우 params를 사용하여 통과하지 못하면 결국 문제가 있을 수 있습니다. 🎜

위 내용은 Axios에서 매개변수를 전달하는 두 가지 방법에 대해 자세히 설명하는 기사가 있습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Vue 애플리케이션에서 axios를 사용할 때 'Uncaught (in promise) Error: Request failed with status code 500'이 발생하면 어떻게 해야 합니까? Vue 애플리케이션에서 axios를 사용할 때 'Uncaught (in promise) Error: Request failed with status code 500'이 발생하면 어떻게 해야 합니까? Jun 24, 2023 pm 05:33 PM

Vue 애플리케이션에서 axios를 사용하는 것은 매우 일반적입니다. axios는 브라우저와 Node.js에서 사용할 수 있는 Promise 기반 HTTP 클라이언트입니다. 개발 과정에서 "Uncaught(inpromise)Error: Requestfailedwithstatuscode500"이라는 오류 메시지가 나타나는 경우가 있는데, 개발자 입장에서는 이 오류 메시지를 이해하고 해결하기 어려울 수 있습니다. 이 기사에서는 이에 대해 알아볼 것입니다.

Vue에서 데이터 요청 선택: Axios 또는 Fetch? Vue에서 데이터 요청 선택: Axios 또는 Fetch? Jul 17, 2023 pm 06:30 PM

Vue에서 데이터 요청 선택: AxiosorFetch? Vue 개발에서 데이터 요청을 처리하는 것은 매우 일반적인 작업입니다. 데이터 요청에 사용할 도구를 선택하는 것은 고려해야 할 질문입니다. Vue에서 가장 일반적인 두 가지 도구는 Axios와 Fetch입니다. 이 기사에서는 두 도구의 장단점을 비교하고 선택하는 데 도움이 되는 몇 가지 샘플 코드를 제공합니다. Axios는 브라우저와 Node.js에서 작동하는 Promise 기반 HTTP 클라이언트입니다.

Vue 애플리케이션에서 axios를 사용할 때 'TypeError: Failed to fetch'가 발생하면 어떻게 해야 합니까? Vue 애플리케이션에서 axios를 사용할 때 'TypeError: Failed to fetch'가 발생하면 어떻게 해야 합니까? Jun 24, 2023 pm 11:03 PM

최근 Vue 애플리케이션을 개발하는 동안 "TypeError: Failedtofetch" 오류 메시지라는 일반적인 문제에 직면했습니다. 이 문제는 axios를 사용하여 HTTP 요청을 할 때 백엔드 서버가 요청에 올바르게 응답하지 않을 때 발생합니다. 이 오류 메시지는 일반적으로 네트워크 이유나 서버가 응답하지 않아 요청이 서버에 도달할 수 없음을 나타냅니다. 이 오류 메시지가 나타나면 어떻게 해야 합니까? 해결 방법은 다음과 같습니다. 네트워크 연결을 확인하세요.

Vue 애플리케이션에서 axios를 사용할 때 '오류: 네트워크 오류' 문제를 해결하는 방법은 무엇입니까? Vue 애플리케이션에서 axios를 사용할 때 '오류: 네트워크 오류' 문제를 해결하는 방법은 무엇입니까? Jun 25, 2023 am 08:27 AM

Vue 애플리케이션에서 axios를 사용할 때 "오류: NetworkError" 문제를 해결하는 방법은 무엇입니까? Vue 애플리케이션 개발에서 우리는 API 요청을 하거나 데이터를 얻기 위해 axios를 사용하는 경우가 많습니다. 그러나 때때로 axios 요청에서 "Error: NetworkError"가 발생하는 경우가 있습니다. 우선, "Error:NetworkError"가 무엇을 의미하는지 이해해야 합니다. 이는 일반적으로 네트워크 연결을 의미합니다.

Vue와 Axios를 효율적으로 활용하여 프런트엔드 데이터 일괄 처리 구현 Vue와 Axios를 효율적으로 활용하여 프런트엔드 데이터 일괄 처리 구현 Jul 17, 2023 pm 10:43 PM

Vue와 Axios를 효율적으로 활용하여 프런트엔드 데이터의 일괄 처리를 구현합니다. 프런트엔드 개발에서는 데이터 처리가 일반적인 작업입니다. 많은 양의 데이터를 처리해야 할 때 효과적인 방법이 없으면 데이터 처리가 매우 번거롭고 비효율적이 됩니다. Vue는 뛰어난 프런트엔드 프레임워크이고 Axios는 널리 사용되는 네트워크 요청 라이브러리로 함께 작동하여 프런트엔드 데이터의 일괄 처리를 구현할 수 있습니다. 이 글에서는 데이터 일괄 처리를 위해 Vue와 Axios를 효율적으로 사용하는 방법을 자세히 소개하고 관련 코드 예제를 제공합니다.

vue3+ts+axios+pinia를 사용하여 무의미한 새로 고침을 달성하는 방법 vue3+ts+axios+pinia를 사용하여 무의미한 새로 고침을 달성하는 방법 May 25, 2023 pm 03:37 PM

vue3+ts+axios+pinia는 무의미한 새로 고침을 실현합니다. 1. 먼저 프로젝트에서 aiXos 및 pinianpmipinia를 다운로드합니다--savenpminstallaxios--save2. AxiosResponse}from"axios";importaxiosfrom'axios';import{ElMess

Java Axios 및 Spring 프론트엔드와 백엔드 분리를 위한 매개변수 전달 사양은 무엇입니까? Java Axios 및 Spring 프론트엔드와 백엔드 분리를 위한 매개변수 전달 사양은 무엇입니까? May 03, 2023 pm 09:55 PM

1. @RequestParam 주석에 해당하는 axios 매개변수 전송 방법은 다음 Springjava 코드를 예로 사용합니다. 인터페이스는 POST 프로토콜을 사용하며 허용해야 하는 매개변수는 tsCode, indexCols 및 table입니다. 이 Spring HTTP 인터페이스의 경우 axios는 어떻게 매개변수를 전달해야 합니까? 방법은 몇 개나 있나요? 하나씩 소개해보자. @PostMapping("/line")publicList

Axios와 SpringBoot 프런트엔드는 데이터 상호작용을 위해 백엔드 인터페이스를 어떻게 호출합니까? Axios와 SpringBoot 프런트엔드는 데이터 상호작용을 위해 백엔드 인터페이스를 어떻게 호출합니까? May 13, 2023 am 10:34 AM

1. 완전한 시스템을 도입하려면 프런트엔드와 백엔드 상호 작용이 필수적입니다. 이 프로세스는 다음 단계로 나눌 수 있습니다. 백엔드 인터페이스가 프런트엔드에 대한 요청을 시작합니다. -엔드 매개변수를 사용하면 데이터를 처리하기 위해 계층별로 메소드를 호출하기 시작합니다. 최종 데이터는 프런트엔드 요청이 성공한 후 인터페이스로 렌더링됩니다. 2. 프로젝트 구조 프론트엔드 기술 : axios 백엔드 기술 : SpringBoot (이건 상관없지만, 소위 요청인 컨트롤 레이어에 대한 접근 경로가 있어야 합니다. 주소 대응 메소드는 SSM 프레임워크를 사용할 수 있고, SSH 프레임워크 등) 위의 내용은 일반적인 파일 구조입니다. 저는 모든 사람의 백엔드 데이터 처리가 괜찮을 것이라고 믿습니다. 이는 제어 계층이 프런트엔드 요청을 수신하고 해당 비즈니스 계층 인터페이스 메서드를 호출하는 것 이상입니다. .레이어 구현

See all articles