огромная проблема с выражением выражений при получении данных формы - PullRequest
0 голосов
/ 28 августа 2018

Я построил форму в моде bs4 и с помощью функции ajax отправил POST в мой API данные формы. (Который также сделает снимки позже)

Форма

  <form id="makeOfferForm">
        <div class="form-group">
          <label for="exampleFormControlTextarea1">Offer Description</label>
          <textarea class="form-control" id="offerDesc" rows="3" name="offerDesc"></textarea>
        </div>
        <div class="form-group">
          <label for="exampleFormControlInput1">Offer Price</label>
          <input type="text" class="form-control" id="offerPrice" placeholder="£230" name="offerPrice">
        </div>
        <div class="form-group">
          <label class="mr-sm-2" for="inlineFormCustomSelect">Postage</label>
          <select class="" id="inlineFormCustomSelect" name="offerPostage">
            <option value="ND">Next Day</option>
            <option value="3D">3 Days</option>
            <option value="7D">7 Days</option>
          </select>
        </div>
        <div class="form-group">
          <label class="mr-sm-2" for="inlineFormCustomSelect">Condition</label>
          <select class="" id="inlineFormCustomSelect" name="offerCondition">
            <option value="N1">New (with labels)</option>
            <option value="N2">New (other)</option>
            <option value="A">A</option>
            <option value="B">B</option>
            <option value="C">C</option>
          </select>
        </div>
        <div class="form-check float-right">
                <button id="makeOfferSubmit" type="submit" class="btn btn-primary">Submit Offer</button>
                </div>
        </form>

Форма подачи

$('#makeOfferSubmit').click(function(e){

  e.preventDefault();

  $.post('/offers/makeanoffer', 
     $('#makeOfferForm').serialize(),
     function(data, status, xhr){
                 // do something here with response;
                 console.log("data is:" + data + "Status is:" + status)

     });
});

Конечная точка POST API

[![router.post("/makeanoffer", function ensureAuthenticated(req, res) {

  // create an incoming form object
  var form = new formidable.IncomingForm();

  form.multiples = true;

  form.parse(req);

  form.on("field", function(field, value) {
    console.log("field: ", field);
    console.log("value: ", value);
  });
});

Думал, что я тоже добавлю снимок экрана отладки. Вы можете видеть, что мое тело запроса содержит форму, о которой идет речь, поэтому она отправляется.

Debug

...