我在谷歌上搜索过,但没有成功实现解决方案
我的代码是
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,但数据为空
我已经用谷歌搜索了很多天并遇到了这个问题,最后我在同一域上创建了AJAX
请求意味着(Action in my application
)。此操作调用 Web API
表示we can call server to server
并将响应从 Web api 发送到 ajax
。
xdr.send($.parseJSON(params))
似乎是错误的 - 你不应该将js对象传递给send method - 你应该传递json字符串或namevalue集合(就像在发布表单时一样),指定正确的内容类型标头(application/json or application/x-www-form-urlencoded)