我在hapi框架中使用ajax提交表单数据,但是' request.payload'也就是为什么?

时间:2016-06-16 02:24:09

标签: ajax forms hapijs

前端是提交数据的表单。

前端的html代码:

<!DOCTYPE html>
<html>
<head>
    <title>page1</title>
    <meta charset='UTF-8'/>
</head>
<body>
<form id='form'>
    <fieldset>
        <legend>people information</legend>
        <label for="name">name</label>
        <input type="text" id="name"/>
        <label for="type">type</label>
        <input type="text" id="type"/>
        <label for="camp">camp</label>
        <input type="text" id="camp"/>
    </fieldset>
</form>
<button id="commit">提交</button>
<script type="text/javascript" src="/js/transdata2.js"></script>

我使用&#39; xhr&#39;将数据从客户端传输到服务器。

前端的js代码:

var commitBtn = document.querySelector('#commit');

commitBtn.addEventListener('click',function(){
    var form = document.querySelector('#form');
    var vForm = new FormData(form);
    var xhr = new XMLHttpRequest();
    xhr.onreadystatechange = function(){
        if(xhr.readyState == 4 ){
            if(xhr.status == 200){
                console.log(xhr.response);
            } else {

            }
        } else {

        }
    }

    xhr.open('POST','http://localhost:3000/commit');
    xhr.send(vForm);
},false)

由hapi编写的简单服务器代码。

hapi代码:

'use strict';
const Hapi = require('hapi');
const server = new Hapi.Server();
server.connection({port:3000});

server.start((err) => {
    if(err){
        throw(err);
    }
    console.log('Server running at:',server.info.uri);
});

server.register(require('inert'),(err) => {
    if (err){
        throw err;
    }

    server.route({
        method: 'GET',
        path: '/js/transdata2.js',
        handler:function(request,reply){
            reply.file('./js/transdata2.js');
        }
    })

    server.route({
        method:'GET',
        path:'/page1',
        handler:function(request,reply){
            reply.file('./view/page1.html');
        }
    })
})

请帮我解决这个问题。谢谢!

0 个答案:

没有答案