簡體   English   中英

將數據發送到 Express 后端

[英]Send data to Express backend

我無法將數據發送到后端。 我想將數據f1發送到QueryBackend.js但是當我嘗試console.log(req.body.f1)它總是未定義但在Services.js中獲取值。

工具欄.js

handlePrintLetter = async(fieldName, fieldValue) => {
  const { formId, selectedRows, displayData, onNotification } = this.props;
  const idSelected = selectedRows.data.map(d => displayData[d.dataIndex].id);
  const res = await getBookmarkDocument(idSelected);  // Send Data to Backend
  if (res.success) {
    onNotification({ mode: 'success', text: 'success' });
  } else {
    onNotification({ mode: 'error', text: fieldName + ' ' + fieldValue });
  }
}

服務.js

export const getBookmarkDocument = async (f1) => {
  console.log(f1) // get value from Toolbar.js
  const token = localStorage.getItem('token');
  return axios.get(API + 'doc/show', { f1 },
  {
    headers: {
      Authorization: `Bearer ${token}`
    }
  })
    .then((response) => response.data || [])
    .catch((error) => {
      ErrorAPI(error);
      return [];
    });
}

如何在這里獲取數據f1

查詢后端.js

router.get('/show', async (req, res) => {
  try {
    console.log(req.body.f1)  // undefined
    const pool = await poolPromise;
    const result = await pool.query('SELECT sid_ddocument_key FROM sid_ddocument WHERE sid_ddocument_key = $1', ['I WANNA PUT DATA 'f1' IN HERE']);  // Put Data f1
    res.status(200).json({
      success: true,
      data: result.rows
    });
  } catch (err) {
    res.status(500).json({
      success: false,
      response: err.message
    });
  }
});

GET 請求不能有正文。 將查詢字符串中的數據編碼並使用req.query讀取

 const f1 = 'example'; const API = 'http://example.com/'; const url = new URL(`${API}doc/show`); url.searchParams.append("f1", f1); console.log(url.toString());

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM