我的nodejs httpserver(我不使用快递)托管在HOST A,域名:www.host-a.com并执行此操作:
dispatcher.addListener("post", "/admin/insert_data", function(req, res) {
var body='';
req.on('data', function(chunk) {
body += chunk.toString();
});
req.on('end', function() {
var parsedbody = require('querystring').parse(body);
MongoClient.connect('mongodb://localhost:27017/database1', function(err, db) {
if (err) {
res.writeHead(500) ;
return res.end('Database offline') ;
}
console.log("Connected correctly to server");
var col = db.collection('mycollection');
col.insert(parsedbody, function() {
db.close();
var json = JSON.stringify({status: "0"});
res.writeHead(200, { 'Content-Type': 'application/json' });
res.end(json);
});
});
});
});
客户端如下:
$("form[name='manage_notizie']").submit(function(e) {
req="../admin/insert_data"
var tmp_notizia = $( "input[name=notizia]" ).val();
var tmp_id_notizia = $( "input[name=id_notizia]" ).val();
$.ajax({
url: req,
type: "POST",
data: {id_notizia:tmp_id_notizia, notizia:tmp_notizia},
async: false,
success: function (msg) {
location.reload();
},
error: function (msg) {
alert("Errore nel server")
},
cache: false,
});
e.preventDefault();
});
我知道,如果我没有指定任何访问控制允许来源,那么只有当请求从自身(主机a)到达时,服务器才会响应。
现在,例如,如果请求来自www.host-b.com到www.host-a.com/insert_data,我的服务器将不会回复请求(就像我想要的那样),但它会执行计算(这是我不想要的)
我错过了什么吗?