我試圖使用信息應張貼有請求的對象 - >請求POST修改對象?
function postData(data, cb) {
request.post({
url: 'http://localhost:3001/datastream',
form: data,
}, (err, httpResponse, body) => {
cb(body);
});
}
和物體看起來是這樣的:
{
"tblPartsReport": {
"valid": true,
"message": "Execute SQL: SELECT * FROM tblPartsReport WHERE ID = (SELECT MAX(ID) FROM tblPartsReport); success !",
"records": [{
"ResourceID": 61,
"TimeStamp": "2017-04-04T05:52:19Z",
"PNo": 0,
"ErrorID": 0,
"ID": 10174
}]
},
"tblMachineReport": {
"valid": true,
"message": "Execute SQL: SELECT * FROM tblMachineReport WHERE ID = (SELECT MAX(ID) FROM tblMachineReport); success !",
"records": [{
"ResourceID": 61,
"TimeStamp": "2017-04-04T05:52:19Z",
"AutomaticMode": true,
"ManualMode": false,
"Busy": false,
"Reset": false,
"ErrorL0": false,
"ErrorL1": false,
"ErrorL2": false,
"ID": 26562
}]
}
}
的對象是有效的和好的,但發佈後,看起來像這樣在另一邊:
console.log(req.body);
{
'tblMachineReport[valid]': 'true',
'tblMachineReport[message]': 'Execute SQL: SELECT * FROM tblMachineReport WHERE ID = (SELECT MAX(ID) FROM tblMachineReport); success !',
'tblMachineReport[records][0][ResourceID]': '61',
'tblMachineReport[records][0][TimeStamp]': '2017-04-04T05:52:19Z',
'tblMachineReport[records][0][AutomaticMode]': 'true',
'tblMachineReport[records][0][ManualMode]': 'false',
'tblMachineReport[records][0][Busy]': 'false',
'tblMachineReport[records][0][Reset]': 'false',
'tblMachineReport[records][0][ErrorL0]': 'false',
'tblMachineReport[records][0][ErrorL1]': 'false',
'tblMachineReport[records][0][ErrorL2]': 'false',
'tblMachineReport[records][0][ID]': '26562',
'tblPartsReport[valid]': 'true',
'tblPartsReport[message]': 'Execute SQL: SELECT * FROM tblPartsReport WHERE ID = (SELECT MAX(ID) FROM tblPartsReport); success !',
'tblPartsReport[records][0][ResourceID]': '61',
'tblPartsReport[records][0][TimeStamp]': '2017-04-04T05:52:19Z',
'tblPartsReport[records][0][PNo]': '0',
'tblPartsReport[records][0][ErrorID]': '0',
'tblPartsReport[records][0][ID]': '10174'
}
任何想法爲什麼會發生這種情況?我也嘗試過使用Axios,但無法獲得發佈的工作。我只想發佈一個常規對象。通常我一直在使用jQuery AJAX。
編輯: 這是正確的做法:)
function postData(data, cb) {
request.post({
url: 'http://localhost:3001/datastream',
json: true,
body: data,
}, (err, httpResponse, body) => {
cb(body);
});
}
謝謝你們。這是正確的:)我不得不使用「json:true」和「body:data」 –