1. 程式人生 > >axios的post後端無法接收到引數

axios的post後端無法接收到引數

最近在學習一下前端,http非同步請求框架之前一直沿用jquery。突然發現axios在github上start數也是很牛,vue.js推薦使用axios。

所以就拿過來看看。無外乎就是get  post請求等等,很容易上手。看一下文件 幾分鐘能寫一個小demo測試出來。get請求完全是沒有

問題的,但是post很多人不光我遇到的問題就是傳遞引數給後端,但是後端接收不到引數。

仔細一看http請求頭和請求體,果然body裡面傳遞的引數不對。以前是k-v形式,但是axios把我想要傳遞測引數變為一個json字元

串傳遞過去了,明顯是不是我預期的。所以 ,我使用jquery發同樣的請求與其對比,對比知道確實傳送的差異在於引數。網上搜索看

了許多,有的說改請求頭 content-type:application/x-www-form-urlencoded; charset=UTF-8。但是還是沒有用。 所以只能去Axios的

github的issue裡面翻了,果然有一個issue提到:https://github.com/axios/axios/issues/1498。如下即可解決

var data = new FormData()
data.append("name","zhangsan")


axios.post("post.php",data).then(function(resp){
	console.log("axios")
	console.log(resp)
})
}).catch(function(error){

	console.log("錯誤資訊:"+error)
})

new 一個FormData物件 然後將資料鍵值對放進去即可。 最後我們可以自己封裝我們的axios 統一初一傳遞的引數即可。

其實網上還有人說用qs模組對引數進行處理,顯得有點殺雞用牛刀了。

相關推薦

axios的post無法接收引數

最近在學習一下前端,http非同步請求框架之前一直沿用jquery。突然發現axios在github上start數也是很牛,vue.js推薦使用axios。 所以就拿過來看看。無外乎就是get 

Vue使用axios傳送post請求,無法接收怎麼處理?(Djnago後臺)

      今天終於解決了一個困擾很久的問題,在使用Vue進行前端專案的搭建時,通常採用axios作為資料傳輸的工具,我們會發現,使用get請求一切都正常,但是使用post請求,會發生一些奇怪的事情。這次我使用的是python的web框架django,但道理都是一樣的,我們可

axios用post傳參,無法獲取引數問題

最近用vue+nodejs寫專案,前端使用axios向後臺傳參,發現後臺接收不到引數。 後臺是node+express框架,然後使用了body-parser包接收引數,配置如下: const express = require('express') const bodyParser = require('

python上傳大圖時以base64形式導致引數過長,遲遲接收不到請求

上傳大圖這個問題,斷斷續續困擾了一個月今天終於解決了!!撒花~ 下圖裡base64_data是經過轉換的,型別是str f = open(origin_path, 'rb') base64_data = base64.b64encode(f.read()).decode(

ajax請求傳參數復雜對象list,springmvc接收參數

ajax請求 問題 .ajax com 系統繁忙 bsp ces dto var 也是同樣的問題, 浪費我不少時間,在此記錄 問題描述:   ajax請求後端,springmvc接收參數, 參數是個對象,屬性中有list 解決方法: JS: function save()

WebApi中Post請求傳參時接收方式

1.單引數 [FromBody]+變數方式(不推薦):如public string PostUser([FromBody] string user_id){} 由於我們的前端習慣用key/value的方式進行請求,而此法要求key為空,有點不三不四,程式碼不規範,故此不推薦。總不能都是你寫的

無法接收到vue傳遞的token(跨域問題)

場景:前後端分離,前端VUE,後端SpringBoot 問題:後端介面類上面加了@CrossOrigin,也在攔截處加了  但是,前端把請求方式改成重定向之後,後端就無法接收到前端傳遞的token了。 解決:Access-Control-Request-Headers改成

獲取所有checkbox選中的資料,前端傳一個物件的陣列到進行接收

在table表中,我們經常會選中多條記錄,獲取他們的資料,進行操作。 程式碼如下: 獲取選中行中的資料 1)獲取選中行的長度,進行判斷。  var len = $("input[name=boxs]:checked").length; 2) 獲取選中的行,通過

thinkPHP 設定偽靜態路由 PHP頁面接收引數

PHP檔案 public function index(Request $request) { $id=$request->only('uid'); return $id['uid']; }   route.php 路由檔案   retu

rabbitmq direct型別中,生產者無法接收應答

研究了一下rabbitmq,做了一個測試,出現的問題,這裡記錄一下,以便下次檢視 下面的程式碼為生產者 import java.util.UUID; import com.rabbitmq.client.AMQP.BasicProperties; import com.r

除錯介面==(關於前端傳遞list的json如何接收

今天遇到一個前端傳遞list的問題,一般傳遞fom表單一類的springMVC都會自動封裝,但是list卻不行。這裡做一個筆記。 一、已經定義好的實體類 package com.huayi.soa.domain.materiel; public class Mater

Java 封裝接收值的通用方法

1、前端 iso-8859-1,需要進行轉碼  ,需要先測試一下字元 ,然後再看一下是否需要轉碼,前面有介紹怎麼判斷前端傳來的字元。    /**      * 封裝頁面VO資料      *&n

springMVC 前臺傳參 集合接收 或者集合包含集合

前臺jsp  介面 <%@ page language="java" contentType="text/html; charset=UTF-8"     pageEncoding="UTF-8"%> <%@ taglib uri="http://jav

Js請求引數有較長引數導致後臺controller無法接收引數

該問題是由於應用伺服器Tomcat內部配置導致的;POST請求本身對於引數是沒有限制的,因此修改Tomcat的配置即可。在Tomcat的server.xml中修改配置<Connector connectionTimeout="20000" port="808" prot

【2019】問題記錄一:獲取URL引數的值內加號“+”變成空格“ ”

問題:URL引數中加號“+”變成空格“ ” 一、現象      URL如:http://example.****.com/controller/action?param=rice+cook+panda   後端通過Request.Que

Spring MVC前傳遞和接收引數名不一致處理方式

前端傳遞的變數和後端接收的變數名字不一致時,用註解@RequestParam來實現資料的傳遞 例如:@RequestParam(value="id")  //實現商品的分類目錄展現 /** * value="實現資料的傳遞" * defaultValue:如果引數為null時生效 * requi

axios 發 post 請求,接收不到引數的詳細解決方案

  問題描述 :axios post 請求或者get請求後接收不到引數 後端接收設定: @RequestParam @RequestBody設定的原因   由於spring的RequestParam註解接收的引數是來自於request

前端ajax非同步傳值以及接收引數的幾種方式

原文參考 非同步傳值 前臺往後臺傳值呢,有很多種方式,大家聽我細細道來。 第一種呢,也是最簡單的一種,通過get提交方式,將引數在連結中以問號的形式進行傳遞。 // 前臺傳值方法 // 觸發該方法呼叫ajax function testAjax(yourData) {

HBase啟動口60010無法訪問

inf color 需要 spa 啟動 code span hbase 無法 配置好HBase後,想從瀏覽器通過端口60010看下節點情況,但是提示無法訪問 在服務器上netstat -natl|grep 60010 發現並沒有60010端口 原來是因為HBase 1.0

跨域cors中如何傳遞cookie(前端為什麽無法傳遞cookie?)

con sam bsp ble 情況 需求 nbsp 什麽 gin 沒有跨域 後端server只要在回應頭部‘set-cookie’,那麽就會有cookie產生並保存在客戶端client。 等到client再次向後端server發送請求時瀏覽器的機制就會自動攜帶cook