2017-06-15 75 views
2

我試圖讓使用請求URL的PUT請求:帶參數的NodeJS PUT請求

request({ 
      uri: 'http://apiurl.url/1.0/data?token=' + APItoken, 
      method: 'PUT', 
      data: [{ 
        'content-type': 'application/json', 
        body: JSON.stringify(APIpostObj) 
      }], 
      json: true 
    }, 
    function(error, response, body) { 
      if (error) { 
        return console.error('upload failed:', error); 
      } 
      console.log('Server responded with:', body); 
    }) 

我得到的錯誤:

'Error number': 303, Error: 'Empty PUT on /data endpoint' 

有需要兩個參數:ID(一個數字)和bdata(JSON)。 APIpostObj將包含它們作爲{「id」:33,「bdata」:{...}}。

我錯過了什麼?

回答

0

你可以試試這個

request({ 
     uri: 'http://apiurl.url/1.0/data?token=' + APItoken, 
     method: 'PUT', 
     json: [{ 
       'content-type': 'application/json', 
       body: JSON.stringify(APIpostObj) 
     }] 
}, 
function(error, response, body) { 
     if (error) { 
       return console.error('upload failed:', error); 
     } 
     console.log('Server responded with:', body); 
}) 
0

你也可以試試這個。通常對我很好。

request({ 
    uri: url, 
    method: "PUT", 
    headers: { 
     'Content-type': 'application/json' 
    }, 
    body: APIpostObj, 
    json: true 
}, (error, response, body) => { 
    // Do Stuff 
})