由于IE不支持跨域问题,我们必须使用xdr使用get或post方法,我的问题是,我不知道如何在使用get方法和xdr时传递数据。
使用jquery ajax的get方法的代码片段类似于-
$.ajax({
type: 'GET',
cache: false,
url: site_url,
data: params,
success: onsuccess,
error:onError
});
但假设如果我为xdr写这段代码,它会像-一样
var xdr = new XDomainRequest();
xdr.CacheControl = "no-cache";
xdr.open("get", site_url);
xdr.onload = function () {
var data = $.parseJSON(xdr.responseText);
onsuccess(data);
}
xdr.onerror = function() {alert('err');};
xdr.send();
现在在这里,我不知道在哪里传递数据!!!
请帮我解决这个问题。
这一切都发生在".open"方法中。
假设您想向请求传递一些JSON或对象。
这样做吗…
var my_request_data = {
"whatever" : "whatever",
"again" : "whatever again",
"you get" : "the point..."
};
my_request_data = $.param(my_request_data);
xdr.open("get", "http://url.com/to/get/or/post/too/" + my_request_data);
jQuery将JSON对象转换为URL友好的params,然后将其发送到服务器。
这就是你传递数据的方式!