[英]How can i pass data from ReactJS submit form to AdonisJS
我在ReactJS中有一個表單,每當我單擊“提交”按鈕時,數據應傳遞給adonis api。
ReactJs文件
async handleSubmit(e) {
e.preventDefault();
console.log(JSON.stringify(this.state));
await axios({
method: 'post',
url: 'http://127.0.0.1:3333/add',
data: JSON.stringify(this.state),
})
.then(function (response) {
console.log('response',response);
})
.catch(function (error) {
console.log('error',error);
});
}
“ http://127.0.0.1:3333/add ”是具有路由“ / add”的Adonis服務器
我不知道如何用阿多尼斯寫那條路線上的狀態
有人可以解釋一下嗎?
在控制器的函數中,例如const data = request.only(['data'])
獲取值中,則可以獲取數據。
另一種獲取數據的方法,例如const alldata = request.all()
此控制台將顯示此結果,並查看從此alldata.data
獲取和獲取數據的結果alldata.data
首先,創建一個簡單的控制器來處理您的數據,這些數據將從ReactJS應用程序的handleSubmit()
方法接收。
使用以下命令創建一個簡單的控制器:
adonis make:controller TestController --type http
一旦創建,打開TestController
文件並進行index
方法,並添加這是內部的以下index
的方法。
'use strict'
class TestController{
// define your index method here
index ({ request }) {
const body = request.post() // get all the post data;
console.log(body) //console it to see the passed data
}
}
module.exports = TestController
之后,將您的/add
路由注冊到start/routes.js
文件中。
Route.post('/add', 'TestController.index') // controller name and the method
最后,點擊ReactJS應用程序中的Submit按鈕,然后對其進行測試。
當您將請求從ReactJS應用發送到Adonis服務器時,很可能會遇到
CORS issues
。如果是這樣,則必須將api
請求proxy
到Adonis服務器。
為此,請在ReactJS App中打開package.json
文件,並添加以下proxy field
。
"proxy": "http://127.0.0.1:3333",
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.