IE 8+ XDomainRequest 'POST' не работает с WebAPI
У меня есть поиск по Google, но не удалось найти решение
Мой код
var xdr = new XDomainRequest();
if (xdr) {
$.support.cors = true;
xdr.open(method, svcUrl, true);
xdr.onload = function () {
var result = $.parseJSON(xdr.responseText);
if (result === null || typeof (result) === 'undefined') {
result = $.parseJSON(
data.textContent);
}
if ($.isFunction(successCallBackFunction)) {
successCallBackFunction(result);
}
};
xdr.onerror = function () {
if ($.isFunction(errorCallBackFunction)) {
errorCallBackFunction();
}
};
xdr.onprogress = function () {};
xdr.send(JSON.stringify(params));
}
return xdr;
Моя проблема в том, что запрос касается моего webapi, но данные пустые
2 ответа
Решение
Я гуглил и сталкивался с этой проблемой много дней, наконец то создал AJAX
значит запрос на тот же домен (Action in my application
). Это действие вызывает Web API
средства we can call server to server
и отправить ответ от веб-API для ajax
,
xdr.send($.parseJSON(params))
кажется неправильным - вы не должны передавать js-объект в метод send - вы должны передавать либо строку json, либо коллекцию namevalue (как при отправке формы), указав правильный заголовок типа содержимого (application/json or application/x-www-form-urlencoded)