Использование $. ajax post для отправки данных на node.js сервер не работает - PullRequest
0 голосов
/ 16 марта 2020

Моя цель - преобразовать дату таблицы в массив и отправить массив на сторону сервера, используя Ajax post. Я впервые использую Ajax пост, и я следовал за всем ответом в предыдущем посте. Я до сих пор не знаю, чего не хватает. Я использую body-parser для получения данных на стороне сервера. Я буду признателен за любую помощь или , если есть другой более простой способ отправить массив на серверную сторону . Мой текущий вывод в неопределен, когда я пытался напечатать вывод. Пожалуйста, смотрите мой код ниже:

e js сторона

<table id="cartGrid">
        <thead>
             <tr>
                <th>Item Description</th>
                <th>Qty</th>
                <th>Unit Price</th>
                <th>Ext Price</th>
             </tr>
        </thead>
        <tbody>
          <tr><td>Old Lamp</td><td>1</td><td>107.00</td><td>107.00</td>
          <tr><td>Blue POst</td><td>2</td><td>7.00</td><td>14.00</td>
   </tbody>
</table>

<script>
// convert table to array

    var myTableArray = [];
    $("table#cartGrid tr").each(function() { 
    var arrayOfThisRow = [];
    var tableData = $(this).find('td');
    if (tableData.length > 0) {
        tableData.each(function() { arrayOfThisRow.push($(this).text()); });
        myTableArray.push(arrayOfThisRow);
    }

// post the data
$.ajax({
        url: "/saler",
        type: "POST",
        data: myTableArray,
    });

});

</script>

сторона сервера

router.post('/saler', function (req, res, next) {
  var myTableArray = req.body.myTableArray;
  console.log(myTableArray);
});

приложение. js

app.use( bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));

1 Ответ

1 голос
/ 16 марта 2020

в теле вашего запроса нет myTableArray.

, если только при отправке данных вы не делаете это:

$.ajax({
        url: "/saler",
        type: "POST",
        data: {myTableArray},
    });

});

, тогда вы можете сделать req.body.myTableArray, чтобы прочитать myTableArray.

сначала попробуйте console.log(req.body), чтобы проверить структуру данных в вашем запросе.

...