NodeJS에 대한 완전한 멍청한 의견이며 앱 구조를 이해하려고합니다. 나는 Socket.IO와 MongoJS를 사용하는 기본 앱을 가지고있다. 이것은 기본적으로 클라이언트 측 스크립트에서 변수를 가져 와서 Mongo에 저장하는 추적 시스템이다. 나는 그것이 작동 상상 방법은 다음과클라이언트 측 JS를 서버 측에 연결 NodeJS app
은 다음과 같습니다
- 사용자가 우리의 10 개 사이트의 1에 페이지를로드 해당 페이지의
- JS 파일은 참조 URL 및 타임 스탬프를 캡처
- 그 2 값들은 노드 앱 앱 다음 MongoDB를 연결하고
를이 S 값을 저장
내가 socket.io 클라이언트 측 JS와 서버에 연결하고자하는 방법이다 : 나는 위의 코드를 알고
var app = require('http').createServer(handler)
, io = require('socket.io').listen(app)
, fs = require('fs')
app.listen(1337);
io.configure(function() {
io.set('authorization', function (handshakeData, callback) {
if (handshakeData.xdomain) {
callback('Cross-domain connections are not allowed');
} else {
callback(null, true);
}
});
});
function handler (req, res) {
fs.readFile(__dirname + '/index.html',
function (err, data) {
if (err) {
res.writeHead(500);
return res.end('Error loading index.html');
}
res.writeHead(200);
res.end(data);
});
}
io.sockets.on('connection', function (socket) {
socket.on('adTracker', function (data) {
var adRequestData = data;
var pass = ["bigbooks"];
var databaseUrl = "username:[email protected]:10006/node-test";
var collections = ["cmnads"]
var db = require("mongojs").connect(databaseUrl, collections);
db.cmnads.insert({adRequest : adRequestData}, {$set: {password: pass}}, function(err, updated) {
if(err || !updated) console.log("User not updated");
else console.log("User updated");
});
});
});
: 여기
$.getScript('/socket.io/socket.io.js', function(data){
console.log(data);
});
var cmnPub = "Publishers.com"
var socket = io.connect(document.location.href);
socket.emit('adTracker', {
publisher: cmnPub, time : timeStamp, referingURL : document.location.href
});
내 서버 측 코드 앱이 로컬이지만 다른 사이트에서 액세스하려고하면 다음 오류가 표시됩니다.
Uncaught SyntaxError: Unexpected token - myapp.js:1 <
추가 연구가 끝나면 내 응용 프로그램이 index.html 페이지를로드하기 때문에 서버 구성이 잘못되었지만 내 구성이 무엇인지 잘 모르겠습니다. 외부 URL에서 클라이언트 측 JS를로드 한 다음 내 서버에 연결하여 추적을 내 응용 프로그램에 전달하려면 서버를 어떻게 설정해야합니까 ??
감사합니다. Luis, 서버 측 코드를 포함하도록 제 질문을 업데이트했습니다. – HjalmarCarlson