Этот код работает отлично:Порядок XMLHttpRequest очень важен?
function callFromFlex(url, method, payload) {
console.log("call from Flex: " + method + " " + url + " " + payload);
var xhttp = new XMLHttpRequest();
xhttp.open(method, url, true);
xhttp.setRequestHeader("Content-Type", "application/json");
xhttp.onreadystatechange = function() {
console.log(xhttp.readyState);
if (xhttp.readyState == 4) {
console.log("trying to call flash...");
// Callback to Flash here
...
}
};
xhttp.send(payload);
}
Но это не делает - onreadystatechange никогда не называют:
function callFromFlex(url, method, payload) {
console.log("call from Flex: " + method + " " + url + " " + payload);
var xhttp = new XMLHttpRequest();
xhttp.setRequestHeader("Content-Type", "application/json");
xhttp.onreadystatechange = function() {
console.log(xhttp.readyState);
if (xhttp.readyState == 4) {
console.log("trying to call flash...");
// Callback to Flash here;
...
}
};
xhttp.open(method, url, true);
xhttp.send(payload);
}
Я только что переехал xhttp.open (метод, URL, истина) на другую позицию и xhttp. onreadystatechange никогда не называется. Проверено с Firefox 45.0.2 и IE 11, и я считаю, что это не имеет никакого отношения к Flash-плееру. Приказ не должен влиять на все это, не так ли?
ОК, поэтому я могу установить заголовок запроса только для «открытого» XMLHttpRequest. Weird. – darwinjob