Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我尝试在这里使用POST方法,当我尝试从html页面获取信息时,我得到了405错误_Javascript_Node.js_Express - Fatal编程技术网

Javascript 我尝试在这里使用POST方法,当我尝试从html页面获取信息时,我得到了405错误

Javascript 我尝试在这里使用POST方法,当我尝试从html页面获取信息时,我得到了405错误,javascript,node.js,express,Javascript,Node.js,Express,我在这里提供代码,以防有所帮助。我正在创建一个名为“客户机”的路由,当他在页面上按“确认”时,该路由将随后存储客户的信息。我正在使用NodeJS和Express。我是后端开发新手,我正在尝试找出如何使事情正常工作 代码如下: var mysql= require("mysql"); const express=require("express"); const app=new express(); const morgan=require("morgan"); app.use(morgan('s

我在这里提供代码,以防有所帮助。我正在创建一个名为“客户机”的路由,当他在页面上按“确认”时,该路由将随后存储客户的信息。我正在使用NodeJS和Express。我是后端开发新手,我正在尝试找出如何使事情正常工作

代码如下:

var mysql= require("mysql");
const express=require("express");
const app=new express();
const morgan=require("morgan");
app.use(morgan('short'));
app.use(express.static("registration.html"));

const bodyParser=require("body-parser");
app.use(bodyParser.urlencoded({extended:false}));
app.post('/clients',(req,res)=>{
    console.log("inserting..")
    console.log("first name: "+req.body.fullName)

})

var con=mysql.createConnection({
    host:"localhost",
    user:"root",
    password:"",
    database:"clientsDATABASE"
})

app.listen(3004,()=>{
    console.log("Listening on port 3004");
})

con.connect(function(err){
    if (err) throw err
    console.log("CONNECTED")

    con.query("select * from clientsVectra", function(err,result,fields){
        if (err) throw err
        console.log(result);
        app.get("/",(req,res)=>{
            res.send(result);
        })
    })
})
发送用户输入数据的页面是远程页面。 以下是该页面的html:

<div class="container">
            <form action="/clients" method="POST">
        <div class="card">
            <div class="card-body">
                <input class="form-control ng-pristine ng-untouched ng-invalid ng-invalid-required" id="first-name" 
                name="firstName" placeholder="FULL NAME" autocomplete="off" 
                ng-class="{'has-error': registerMinimalForm.firstName.$invalid &amp;&amp; registerMinimalForm.$submitted}" ng-required="true" 
                ng-model="rmfc.model.firstName" required="required" name="fullName">
            </div>
        </div>

        <div class="card">

            <div class="card-body">
                <input class="form-control ng-pristine ng-untouched ng-invalid ng-invalid-required" id="email" 
                name="firstName" placeholder="E-MAIL ADDRESS" autocomplete="off" 
                ng-class="{'has-error': registerMinimalForm.firstName.$invalid &amp;&amp; registerMinimalForm.$submitted}" ng-required="true" 
                ng-model="rmfc.model.firstName" required="required">
            </div>

            <div class="card">
                <div class="card-body">
                    <input class="form-control ng-pristine ng-untouched ng-invalid ng-invalid-required" id="phonenum" 
                    name="firstName" placeholder="PHONE NUMBER" autocomplete="off" 
                    ng-class="{'has-error': registerMinimalForm.firstName.$invalid &amp;&amp; registerMinimalForm.$submitted}" ng-required="true" 
                    ng-model="rmfc.model.phoneNumber" required="required">
                </div>   
                </div>
                <div class="container">
                    <div class="card-footer">
                        <a class="btn btn-primary btn-lg"  role="button" id="b1j">CONFIRM!</a>
                      </div>        
                    </div>
            </form>
        </div>

确认!

405错误表示不允许使用方法,因此,出于某种原因,浏览器不喜欢POST方法。按下按钮时,按钮的侦听器/代码在哪里?@C2H50H那么,在使用express和nodeJS时,如何从registration.html获取用户输入?侦听器位于另一个.js文件中,正如我所见,nodeJS在使用getElementsByClassName(“className”)我认为您的.js中需要有一些东西来处理请求,但不是肯定的。抱歉,我不太了解js。你的表单上写着action=“/clients”,但我认为需要指向一个php页面,比如action=“/clients/submitForm.php”