У меня есть этот код:
net.requestXHR = function() {
this.xhr = null;
if(window.XMLHttpRequest === undefined) {
window.XMLHttpRequest = function() {
try {
// Use the latest version of the activex object if available
this.xhr = new ActiveXObject("Msxml2.XMLHTTP.6.0");
}
catch(e1) {
try {
// Otherwise fall back on an older version
this.xhr = new ActiveXObject("Mxsml2.XMLHTTP.3.0");
}
catch(e2) {
//Otherwise, throw an error
this.xhr = new Error("Ajax not supported in your browser");
}
}
};
}
else
this.xhr = new XMLHttpRequest();
}
net.requestXHR.prototype.post = function(url, data) {
if(this.xhr != null) {
this.xhr.open("POST", url);
this.xhr.setRequestHeader("Content-Type", "application/json");
this.xhr.send(data);
}
}
var rs = new net.requestSpeech();
console.log(JSON.stringify(interaction));
rs.post("http://localhost:8111", JSON.stringify(interaction));
когда передача выполняется, у меня есть этот журнал:
OPTIONS http://localhost:8111/ [HTTP/1.1 405 Method Not Allowed 74ms]
И в localhost: 8111 У меня есть reslet serverResource, который принимает сообщение, это проблема одной и той же политики происхождения? я модифицировал рестартер, чтобы поместить заголовок allow-origin, и я тестирую его с другим HTTP-запросом GET (в jquery) и работаю нормально. У меня проблема с тем же происхождением, потому что я использую браузер html5, и мой сервер помещает заголовки в ответ, так почему сообщение показывает мне эту ошибку? зачем менять POST для ВАРИАНТА? Спасибо!
Возможный дубликат: Я думаю, что нет, но это правда, проблема в том, что то же самое для обоих вопросов, но мои относятся, поскольку вопрос о том, что проблема с браузером, а вторая - JQuery. По опыту время не учитывается для дублирования, ответы разные, но верно, что оба вопроса дополняют друг друга.