2015-07-05 1 views
0

Привет Я хочу прочитать проверки радиокнопку результата из HTML страницыкак читать HTML тело запроса от nodejs по имени

Я сделал этот HTML страницу

<form action="/question" method="post"> 
<% for (var i = 0; i < questionList.length; i++) { %> 
    <h1> <%= questionList[i] %> </h1> <br> 

    <% for (var j = 0; j < answerList[i].length; j++) { %> 
     <% if(j === 0) { %> 
      <input type="radio" name="<%= questionList[i] %>" id="<%= questionList[i] %>" value="<%=answerList[i][j] %>" checked="checked"> <%=answerList[i][j] %> <br> 
     <% } %> 

     <% if(j > 0) { %> 
      <input type="radio" name="<%= questionList[i] %>" id="<%= questionList[i] %>" value="<%=answerList[i][j] %>"> <%=answerList[i][j] %> <br> 
      <% } %> 
    <% } %> 
<% } %> 

Закончено

questionList и answerList являются массив, чтобы показать вопрос и ответ

Я хочу получить результат для моего маршрутизатора nodejs мой текущий код ниже

app.post('/question', function(req, res){ 
    for(var i=0; i<questionList.length; i++){ 
     console.log(req.body.questionList[i]); 
    } 
}); 

, но я получил ошибку TypeError: Cannot read property '0' of undefined at /home/kwon/NODE/TASK/myChat/routes/routes.js:298:37 at callbacks

Если напечатать журнал req.body я получил результат ниже

{ 'Howoldareyou? ': '20', 'Whatisyourfavorite? ': 'sports' } 

, так что я думаю, что они будут сохранены в хорошо req.body I не знаю, как читать данные «Howoldareyou» и «Whatisyourfavorit» (каждый хранится в questionList)

+0

, как это 'questionList' выглядеть? – hassansin

+0

questionList - это всего лишь массив строк, содержащих список вопросов, мой код - 'var questionList = [];' Я выталкиваю данные, считанные из TXT-файла, и сохраняю их выше переменной – kwony

+0

, но ошибка говорит 'questionList' не определена. Попытайтесь узнать, есть ли у него значения. – hassansin

ответ

-1

Чувак вам нужен модуль bodyparser для получения данных с этого пути. парсер, код может быть старым, потому что bodyparser предустановлено в экспресс в старые времена, но не больше прямо сейчас

0

Попробуйте это:

app.post('/question', function(req, res){ 
    for(var i=0; i<questionList.length; i++){ 
     console.log(req.body[questionList[i]]); 
    } 
}); 
+0

Wow Thank you! Это сработало! Но я все еще удивляюсь, почему этот код работал хорошо. Можете ли вы представить мне какую-либо ссылку или документ, чтобы я мог понять и изменить его? – kwony

+0

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Working_with_Objects – hassansin