Socket.io 서버에서 메시지를받은 후에 데이터베이스에 메시지를 저장하려고합니다. 여기 내 이벤트가 Socket.i O 서버 측에서 같은 모습입니다 : 첫 번째 부분은 잘 작동Socket.io 이벤트에서 RESTful API 서비스를 호출하는 방법은 무엇입니까?
socket.on('send_msg_to_user', function (data) {
console.log('-------------send_msg_to_user------------------');
if(data.type == "provider"){
io.sockets.in("user_" + data.user_id + "_" + data.provider_id).emit('new_msg', {msg: data.message});
}else if(data.type == "user"){
io.sockets.in("provider_" + data.user_id + "_" + data.provider_id).emit('new_msg', {msg: data.message});
}
console.log('-------------save_message_to_database------------------');
var xhr = new XMLHttpRequest();
xhr.open("GET", "http://165.227.33.135/message/save?user_id=218&provider_id=206&message=hrthtrhtr&type=up&request_id=899", false);
xhr.send();
});
. 문제는 XMLHttpRequest 객체를 만들려고 할 때 가능하다는 것입니다. 내가받는 오류는 다음과 같습니다. 이 예상대로 웹 서비스가 트리거되지 않는 것 같습니다 및 웹 API는 기본 404 오류가 반환이 경우
socket.on('send_msg_to_user', function (data) {
console.log('-------------send_msg_to_user------------------');
if(data.type == "provider"){
io.sockets.in("user_" + data.user_id + "_" + data.provider_id).emit('new_msg', {msg: data.message});
}else if(data.type == "user"){
io.sockets.in("provider_" + data.user_id + "_" + data.provider_id).emit('new_msg', {msg: data.message});
}
console.log('-------------save_message_to_database------------------');
url = 'http://165.227.33.135//message/save?user_id=' + data.user_id
+ '&provider_id=' + data.provider_id
+ '&message=' + data.message
+ '&type=' + data.type
+ '&request_id=' + socket.reqid;
request(url, function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
});
});
:
ReferenceError: XMLHttpRequest is not defined
는 또한 XMLHttpRequest를하지 않고, 내 웹 서비스를 호출하는 또 다른 방법을 시도 .
XMLHttpRequest의 브라우저의 API에 : 당신은 또한 노드에 대한 별도의
xmlhttprequest
패키지가request
https://github.com/request/request같은 요청에 대해 노드 패키지를 사용할 수 있습니다. 여기에서는 노드 응용 프로그램에서이를 사용하고 있습니다. 별도로 설치하거나 요청 라이브러리를 사용하여 수행해야 할 필요가 있다고 생각합니다. 404 오류가 없으므로 작성한 URL이 올바른지 확인하십시오. http 모듈 노드를 사용하여 시도하십시오 – Jackthomson