2016-12-05 58 views
-3

我有這個腳本,我試圖POST,GET和DELETE一些東西。 當我嘗試POST或GET,正確的信息被記錄,但是當我嘗試刪除,我得到以下錯誤:不能GET /刪除Express.js

Cannot GET /del_user

我使用的URL是http://127.0.0.1:8081/del_user

有什麼可以錯這裏?

var express = require('express'); 
var app = express(); 

// This responds with "Hello World" on the homepage 
app.get('/', function (req, res) { 
    console.log("Got a GET request for the homepage"); 
    res.send('Hello GET'); 
}) 

// This responds a POST request for the homepage 
app.post('/', function (req, res) { 
    console.log("Got a POST request for the homepage"); 
    res.send('Hello POST'); 
}) 

// This responds a DELETE request for the /del_user page. 
app.delete('/del_user', function (req, res) { 
    console.log("Got a DELETE request for /del_user"); 
    res.send('Hello DELETE'); 
}) 

// This responds a GET request for the /list_user page. 
app.get('/list_user', function (req, res) { 
    console.log("Got a GET request for /list_user"); 
    res.send('Page Listing'); 
}) 

// This responds a GET request for abcd, abxcd, ab123cd, and so on 
app.get('/ab*cd', function(req, res) { 
    console.log("Got a GET request for /ab*cd"); 
    res.send('Page Pattern Match'); 
}) 

var server = app.listen(8081, function() { 

    var host = server.address().address 
    var port = server.address().port 

    console.log("Example app listening at http://%s:%s", host, port) 
}) 
+4

你試圖在'/ del_user'上執行GET。您需要執行DELETE。 –

+0

您的問題是您正在使用的代碼嘗試進行DELETE請求,它正在發出GET請求。 – Quentin

+0

你是從瀏覽器還是jQuery手動訪問它?它應該使用'delete'動詞。 – Aruna

回答

-1

如果您使用AJAX來嘗試您的代碼,您需要指定的方法,這是刪除。

$.ajax({ 
    url: "http://127.0.0.1:8081/del_user", 
    type: "DELETE" 
}); 
0

在你的代碼,你的/del_user網址綁定到HTTP DELETE方法。
因此,您只需在應用程序或郵遞員中指定DELETE方法即可。
如果你不使用它,它在谷歌瀏覽器的應用程序,你可能需要下載它,它使你的生活變得更加簡單;)

此外,由於HTTP方法已經被宣佈爲DELETE,沒有必要在URL中指定它。
這是RESTful工作的一部分。