새로운 위젯을 생성하는 POST 메소드가 포함 된 REST API를 사용하고 있습니다. 나는이 같은 모습을 보낼 필요가 데이터 :REST API의 POST 메소드를 통해 키/값 데이터 보내기
key | value
widgetnum | 12345
02:00:00_03:00:00_mtwrfsn | [email protected]
12:00:00_15:00:00_mt | [email protected]
지금까지, 나는 몸에 두 개의 키를 통해 데이터를 게시되었습니다 최대 :
widgetnum : 12345
tc : 02:00:00_03:00:[email protected],12:00:00_15:00:[email protected]
위의 예에서 볼 수 있듯이 , 키 "tc"실제로 쉼표로 구분 된 두 개의 레코드에 대한 정보가 들어 있습니다. 하지만 어제는 우편 배달부 응용 프로그램에서 주위에 파고 있던 ... 나는 여러 키/값 쌍을 보낼 수 있다는 것을 깨달았다. 나는 이것이 전에 결코 클릭하지 않은 이유를 모른다. 어떤 경우 (예 : 멍청한 놈), 지금 실현, 사실이 작업을 수행 할 수 있습니다
widgetnum : 12345
02:00:00_03:00:00_mtwrfsn : [email protected]
12:00:00_15:00:00_mt : [email protected]
질문
내 자바 스크립트 코드이기 때문에 더 효율적 내가 지금까지 데이터를 POST 방식을 변경하는 것입니다 걱정 되니? 그래서 예를 들어, 오늘, 내 코드는 다음과 같습니다
router.post('/', function(req, res, next) {
var widgetnum = req.body.widgetnum;
var tc = req.body.tc;
var tc_array = tc.split(",");
을 일명 - 나는 매우 특정 키 이름을 사용하여 내 데이터를 볼 수 있어요.
그러나 내가 데이터를 POST하는 방식을 변경하면 모든 키를 찾기 위해 루프를 실행해야한다고 생각합니다. 이 같은
그래서 뭔가 : 이것은 치료하는 질문처럼 보인다 경우
router.post('/', function(req, res, next) {
//loop through req.body object.
for (var key in req.body) {
if (req.body.hasOwnProperty(key)) {
// add some logic here to test if the key is
// widgetnum or a tc type key.
console.log(key + " -> " + req.body[key]);
}
}
res.status(200).send('ok');
return;
});
내가 사과 - 아마입니다. 그러나 하나의 키/값 쌍에 여러 개의 tc 레코드를 POST하는 것이 좋지 않은 경우이를 변경해 드리겠습니다. 아마도 데이터를 찾기 위해 자바 스크립트 코드를 작성하는보다 효율적인 방법이있을 것입니다.
감사합니다.
왜 JSON 같은 지정된 키/값 형식을 사용하지 않습니까? 이것은 광범위하게 지원되며, node.js 측에서 express를 사용하기 때문에'const bodyParser = require ('body-parser);와 같이 간단합니다. ' – DrakaSAN
감사합니다. 자세한 내용은 주셔서 감사합니다. Google bodyParser.json을 사용하여 데이터를 보내는 방법과 구문 분석하는 방법을 모두 찾을 수 있습니다. – Happydevdays
대신'widgetnum : 12345 tc : 02 : 00 : 00_03 : 00 : 00_mtwrfsn_johndoe @ myemail.com, 12 : 00 : 00_15 : 00 : 00_mt_janedoe @ yahoo.12345, \t "TC": \t { \t \t "02 : 00 : 00_03 : 00 : 00_mtwrfsn"[email protected], \t \t "12 com','{ \t"widgetnum "을 보내 : 00 : 00 : 00 : 15 : 00 : 00_mt ": [email protected] \t } – DrakaSAN