2017-07-29 33 views
1

所以我使用sequelize爲一個簡單的CRUD風格的網頁。我的問題是我能夠將輸入的數據發送到mysql工作臺的輸入字段,並將其存儲在表中,但在網頁上本身沒有任何反應。我的郵寄路線有問題嗎?

//uses var=Posts which contains the fields userName 
 
//and userPosts in my database 
 
    var db = require("../models"); 
 
    
 
    // route to create posts 
 
    app.post("/api/posts", function(req, res) { 
 
    console.log(req.body); 
 
    db.Posts.create({ 
 
     userName: req.body.username, 
 
     userPosts: req.body.user_post, 
 
    }) 
 
    .then(function(dbPost) { 
 
     res.redirect('/dashboard'); 
 
     res.json(dbPost); 
 
    }); 
 
    });

在此先感謝您的幫助!

+0

哪個js框架你使用?什麼時候觸發?一旦你得到迴應? – mygeea

+0

我正在使用node.js,handlebars和sequelize。我將頁面重定向到用戶在輸入內容後提交的主頁儀表板。如果我將重定向輸出,則會跳轉到顯示以下內容的頁面:{ 「id」:7, 「userName」:「2」, 「userPosts」:「asdf」, 「createdAt」:「2017- 07-29T01:27:12.000Z」, 「updatedAt」: 「2017-07-29T01:27:12.000Z」 } – onetwothree

+0

嘗試取出重定向,看看它是否顯示。 – MinusFour

回答

0

網頁本身沒有任何反應

哪些網頁?您成功的數據庫操作是告訴應用程序重定向到/dashboard,但您也嘗試發送JSON數據。我很驚訝你沒有在你的應用程序中得到標題錯誤。您不能重定向到其他路由並同時向客戶端發送數據。

您將需要重定向到/dashboard,然後你的儀表盤路線將不得不再次查詢,以顯示返回的數據。

+0

對不起,缺乏明確的我真的很新的這一點。我正在討論的頁面是應顯示帖子的儀表板。我明白你的意思,但是如何重定向它並向它發送JSON數據是行不通的。我可以在dbPosts.create之前移動重定向嗎? – onetwothree

+0

不,您的路線會重定向客戶端,並且無法將數據添加到商店。您的api/posts POST路徑只需要保存數據,然後重定向成功。您的儀表盤GET路線需要查詢您的帖子模型(當然用戶名),然後顯示結果。 1路線= 1動作。 – Chase

+0

啊,非常感謝你! – onetwothree

0

我認爲這裏的問題是,你都在同一時間做res.json()發出res.redirect()。選擇其中一個。