2016-01-03 38 views
5

Widziałem inne pytania z tym samym błędem, ale żadna z odpowiedzi nie działa.Błąd "Nie mogę POST", gdy próbuję przesłać formularz HTML

<!DOCTYPE html> 
<html> 
<body> 

<form action="http://127.0.0.1:8080/del" method="post"> 
    First name: <input type="text" name="fname"><br> 
    Last name: <input type="text" name="lname"><br> 
    <input type="submit" value="Submit"> 
</form> 

<p>Click on the submit button, and the input will be sent to a page on the server called "http://127.0.0.1:8080/del".</p> 

</body> 
</html> 

server.js

var express=require('express'); 
var body_parser=require('body-parser'); 
var request = require('request').defaults({json:true}); 
var app=express(); 
var del=require('./del'); 
app.post('./del',del.test); 
var server = app.listen(8080,function(){ 
    var host="127.0.0.1"; 
    var port="8080"; 
    console.log("App is listening at http://%s:%s\n",host,port); 
}); 

del.js

module.exports={ 
    test: function(){ 
     console.log("Hello world."); 
    } 
}; 

Za każdym razem, kiedy przesłać formularz, pokazuje

Nie możesz dodawać/del

Odpowiedz

1

W swoim server.js zmienić ten wiersz:

app.post('./del',del.test); 

do tego:

app.post('/del',del.test); 

wtedy masz prawidłową router.

A twoje del.js zmieni się następująco:

module.exports={ 
    test: function(req, res){ 
     console.log("Hello world."); 
     res.status(200).end(); 
    } 
}; 

ponieważ funkcja router powinien powrócić odpowiedź.

+1

Dzięki! zadziałało. :) – Abhishek

+0

Cieszę się, że mogłem ci pomóc. Jeśli moja odpowiedź jest prawidłowa, zaakceptuj to. –

+0

Za mało reputacji, aby zagłosować na odpowiedź: "( Przepraszam! – Abhishek