簡體   English   中英

如何將對象數組發布到 Node.js 服務器?

[英]How to post an array of objects to a Node.js server?

如何將一組包含用戶數據的對象發布到可以驗證的服務器上? 我正在嘗試從訂單中獲取數據以傳遞到服務器進行驗證,然后顯示在我重定向到的另一個頁面上。

const addProducts = (ev) => {
    ev.preventDefault();
    let products = [];
    for(let k = 0; k < counter+1; k++) {

    let bund = 'Bundled' + k;
    let sing = 'Single' + k;
        let unit = 'BundledUnits' + k;
        let name = 'ProductTitle' + k;
        let quant = 'Quantity' + k;
        let lPrice = 'ListPrice' + k;
        let instruct = 'Instructions' + k;

 if(document.getElementById(asin)) {
    if(document.getElementById(bund) && document.getElementById(bund).checked) {
        if(document.getElementById(unit).value) {
            let bundProduct = {
            id: k.value,
                        "Bundled": "true",
                        "Product": document.getElementById(name).value,
                        "quantity": document.getElementById(quant).value,
                        "ListPrice": document.getElementById(lPrice).value,
                        "Instructions": document.getElementById(instruct).value
                    };


                    products.push(bundProduct);
                }
            }

  else if(document.getElementById(sing) && document.getElementById(sing).checked) {
                let singProduct = {
                    id: k.value,
                    "Bundled": "false",
                    "Product": document.getElementById(name).value,
                    "quantity": document.getElementById(quant).value,
                    "ListPrice": document.getElementById(lPrice).value,
                    "Instructions": document.getElementById(instruct).value
                };
               

                products.push(singProduct);
            }
        }
        console.log(k);
    }


    let order = sessionStorage.setItem('order', JSON.stringify(products));

您可以使用fetchaxios類的庫。

檢查這個問題如何使用 fetch 執行 POST 請求: Fetch: POST JSON data

POST 請求示例 function 與axios

const sendToServer = async (products) => {
    try {
      // store response in variable if needed
      const res = await axios.post(
        "/your_api/products",
        products  // products you want to post
      );
      // return data in case
      return res.data
    } catch (error) {
      console.log(error);
    }
  }
// implement this function where you need it
sendToServer(products)

或查看axios文檔中的 POST 示例: https://axios-http.com/docs/post_example

// Send a POST request
axios.post('/user', {
    firstName: 'Fred',
    lastName: 'Flintstone'
  })
  .then(function (response) {
    console.log(response);
  })
  .catch(function (error) {
    console.log(error);
  });

// Send a POST request
axios({
  method: 'post',
  url: '/user/12345',
  data: {
    firstName: 'Fred',
    lastName: 'Flintstone'
  }
});

暫無
暫無

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

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