天天看點

nodejs 擷取表單字段以post方式将請求發送給某個url遇到服務端傳回first argument must be a string or Buffer的錯誤

今天根據nodejs文檔的教學學習擷取表單的字段,将字段内容以post方式傳回給伺服器進行再次顯示。結果雖然實作了,但是端口服務卻抛出了一個異常,意思說第一個參數類型不對,必須是string或者buffer才行,一下就是一開始的代碼。

html檔案
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form method="post" action="http://localhost:3000/">
    <input type="text" name="title" />
    <textarea name="text"></textarea>
    <input type="submit" /></form>
<!--<script src="httpserver.js"></script>-->
</body>
</html>
           
js檔案
nodejs 擷取表單字段以post方式将請求發送給某個url遇到服務端傳回first argument must be a string or Buffer的錯誤

然後在運作的時候,服務端會抛出如下的異常

nodejs 擷取表單字段以post方式将請求發送給某個url遇到服務端傳回first argument must be a string or Buffer的錯誤

一開始蛋疼的,按照文檔寫也能有錯。後來發現還真的有錯,因為post裡面的兩個參數都不是string類型,則需要将其改一下類型即可,即需要修改兩行代碼即可,如下所示:

res.write(post.title+'')
 res.write(post.text+'');
           

再次測試,大功告成!