EXPRESS: Пытаетесь работать с двумя формами в одном router.post ()? - PullRequest
0 голосов
/ 13 октября 2018

Итак, у меня есть две формы, одна для запуска поискового потока в твиттере.Вторая форма - остановить поисковый поток.

В router.post () я пытаюсь установить логику, посредством которой:

, если нажата кнопка остановки, остановить поток.если нажата кнопка запуска, запустите поток.

Проблема : я могу запустить поток, однако, когда я нажимаю кнопку СТОП, не работает.Возможно, потому что первое значение формы все еще «активно».Оператор if в моем маршрутизаторе неверен?

Как лучше всего это решить?

INDEX.JS

  const _stream = {};
  router.post('/', async (req, res) => {
    console.log("raw obj " + req.body.searchTerm);
      if(req.body.searchTerm === "london") {
           console.log("startz " + req.body.startBtn);
        twitterStream(_stream, req.body.searchTerm, function(_stream) {
          console.log("stream on!!");
          _stream.on('data', function(tweet) {
            console.log(tweet.text + "Streaming");
            // socket.emit('tweet', tweet.text);
          });

          _stream.on('error', function(error) {
            console.log("erorr:: " + error);
            throw error;
          });
        });
    } 
     if(req.body.stopSearch ==="stopSearch") {
        console.log("destroy stream!!");
        _stream.destory();
    } else {
      console.log("nothings");
    }

    res.send("true");

});

SCRIPT.JS

function startSearchForm() {
   $("#startBtn").on('click', function() {


        let form = $("#search-form");
        let query = form.serialize();
        console.log(query);
        $.post('/', query);
   });  
}
function stopSearchForm() {
    $("#stopBtn").on('click', function() {
        let startSearchValue = $("#searchTerm").val("");
        console.log("START VALUE NOW IS " +startSearchValue);

        let form = $("#searchStop-form");
        let query = form.serialize();
        console.log(query);
        $.post('/', query);
   }); 
}

HTML PUG

form#search-form(action='javascript:startSearchForm()', method='POST')
        input(type="text" id="searchedTerm" name="searchTerm" placeholder="#hastag" required)
        button(type="submit"  name="startBtn" id="startBtn") Search

form#searchStop-form(action='javascript:stopSearchForm()', method='POST')
          input(type="text" id="stopSearch" name="stopSearch" value="stopSearch" hidden)
          button(type="submit" id="stopBtn" name="stopBtn") Stop
...