Nodejs PUT请求带参数

时间:2017-06-15 15:10:20

标签: javascript jquery node.js post request

我正在尝试使用对网址的请求发出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":{...}}。

我错过了什么?

2 个答案:

答案 0 :(得分: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);
})

答案 1 :(得分:0)

你也可以试试这个。通常和我一起工作。

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