1. 程式人生 > >node.js報TypeError: argument should be a Buffer解決

node.js報TypeError: argument should be a Buffer解決

這個錯誤是由於傳入的引數不是字串或者buffer造成的,我的程式碼如下

var http = require('http')
var request = require('request')

// 1. 建立 Server
var server = http.createServer()

server.on('request', function (req, res) {
	 res.writeHead(200,{'Content-Type':'application/json;charset=utf-8'});//設定response編碼為utf-8
  var url = req.url
   console.log("url:"+url);
   //傳送請求豆瓣獲取json資料
    request({
        url: "https://api.douban.com/"+url,
        method: "POST",
        json: true,
        headers: {
            "content-type": "application/xml",
        },
        body: ""
    }, function(error, response, body) {
        if (!error && response.statusCode == 200) {
            console.log(body) // 請求成功的處理邏輯
			//res.write(JSON.stringify(body))
			res.write(body)
			res.end()
        }
    });

})

// 3. 繫結埠號,啟動服務
server.listen(3000, function () {
  console.log('running...')
})

其中我請求的豆瓣返回的是json,而我直接使用res.write(body),因為body是json物件報錯了,
在這裡插入圖片描述
把res.write(body)改成res.write(JSON.stringify(body))即可解決這個錯誤,
如果你的物件不是json物件,其實可以直接body.toString()就可以了

相關推薦

node.jsTypeError: argument should be a Buffer解決

這個錯誤是由於傳入的引數不是字串或者buffer造成的,我的程式碼如下 var http = require('http') var request = require('request') // 1

TypeError argument should be a Buffer

domain ace details nsh article fault rep Language 解決辦法 1、錯誤描述 > y.copy(0,10); TypeError: argument should be a Buffer at TypeErr

statsmodels.tsa.arima_model預測時報錯TypeError: int() argument must be a string, a bytes-like object or a number, not 'Timestamp'

進行 時報 參數 csv 別人 間隔 get req ice 在 python 中用 statsmodels創建 ARIMA 模型進行預測時間序列: import pandas as pd import statsmodels.api as sm df = pd.read

Keras使用K.function抽取中間層報錯: TypeError: `inputs` to a TensorFlow backend function should be a list or t

# load the model print("[INFO] loading network...") model = load_model("fashion.model") # load the image image_path = "10026.jpg" image =

'version' contains an expression but should be a constant

modules count tle pro pda for 依賴 只需要 contains [WARNING] Some problems were encountered while building the effective model for com.ap

[ERROR ] Error parsing configuration file: /etc/salt/minion - conf should be a document, not <type 'str'>.

文件的 RR salt etc master str AS con nio 錯誤信息 [ERROR ] Error parsing configuration file: /etc/salt/minion - conf should be a document, not

Argument must be a dense tensor: range(0, 3) - got shape [3], but wanted []

tensorflow遇到問題: ValueError: Tried to convert 't' to a tensor and failed. Error: Argument must be a dense tensor: range(0, 3) - got shape [3], but wan

Uncaught TypeError: Path must be a string. Received undefined, only one instance of babel-polyfill..

命令列使用$ atom . 開啟atom,atom介面提示如題所示錯誤,原因是相關的package啟用導致的,根據具體錯誤的提示,找到atom的配置中相應的包,將其禁用即可。實際我禁用的是atom-css-comb 3.3.1和 remote-edit 1.9.0 參考地址:https://

記一次maven專案clean install失敗 'version' contains an expression but should be a constant.

情景: 首先建了一個父pom然後建了幾個子pom,在clean的時候報錯 Non-resolvable parent POM for com.mamcharger.fae:fae-register:${project.parent.version} 因為在子pom裡面加了下面

Ask HN: What should be a software engineer's core competency?

Creating value. It sounds abstract but so far it's proven to be the most reliable and incontrovertible motivating ethos in my career. When you adopt a valu

python出現float() argument must be a string or a number, not 'map'的錯誤

報錯:TypeError: float() argument must be a string or a number, not 'map' 這時候,首先你肯定是用了map()這個函式,不管你用map這個函式把資料轉變成了什麼格式,不管是int還是float還是其它的,最後

The "data" option should be a function that returns a per-instance value in component definitions

Vue 中 data 使用物件形式報錯 報錯資訊:The "data" option should be a function that returns a per-instance value in component definitions export default { na

js錯:****is not a function 的解決方法

1.最簡單的情況就是在html中使用的方法名與js方法名定義的不一致,仔細檢查就ok; 2.在使用js方法form.submit()出現這種報錯的時候,說明在提交表單中的元素中 有設定name=submit 的存在,使得系統混淆,造成報錯! 3.在表單中元素的name和id屬

idea工程中web.xml錯Servlet should have a mapping

搭建ssm工程過程中web.xml報錯:Servlet should have a mapping ....但是mapping已經配置好了...如下圖: 搜尋無果,後來發現是工程的web.xml位置配

python Bug記錄-int() argument must be a string, a bytes-like object or a number, not 'dict'

程式碼如下: error_msg = "" if request.method == "POST": new_dayincome = request.POST.get("dayincome_time", None) total_bath =

Node.js錯 configure error: No acceptable C compiler found! Please make sure you have

報錯:Node.js configure error: No acceptable C compiler found!Please make sure you have a C compiler installed on your system and/orco

React 使用fromidable 模組進行檔案上傳出現First argument must be a string 的解析錯誤的原因

前幾日在用react + express做網站檔案上傳模組時採用了常用的幾個後臺處理檔案上傳的模組,幾乎每個都會出現上述錯誤,究其原因,以如下程式碼進行除錯測試  //錯誤提示除錯 //new一個formidable.IncomingForm();   var form

NodeJs TypeError: First argument must be file descriptor解決方法

         最近在學習NodeJs,在練習一個例子的時候發現老是報:TypeError: First argument must be file descriptor,程式碼如下: var fs

homebrew 安裝node.js錯?

mac$ brew install node ==> Downloading https://homebrew.bintray.com/bottles/node-11.6.0.mojave.bottle.t Already downloaded: /Users/mac/Library/

jsTypeError $(...) is null錯誤

頁面中載入的一個外掛給搗的鬼,是它將jquery的$方法給覆蓋了。對於這個問題,現在分享兩種解決方法。 (1)刪衝突外掛,jquery作為基礎庫,當然是沒有理由被刪了。這個方法最直接了。 (2)將jq