jquery ajax 跨域提交(附IE浏览器解决方案)

  1. 后台输出内容之前需要指定header("Access-Control-Allow-Origin: *");
  2. post 之前
    jQuery.support.cors = true;
    
  3. IE浏览器设置“工具->Internet 选项->安全->自定义级别”将“其他”选项中的“通过域访问数据源”选中为“启用”或者“提示”

对于IE浏览器不支持的情形:

var url="POSTURL";
if(window.XDomainRequest){
xdr = new XDomainRequest()
xdr.onload = function () {
var data = $.parseJSON(xdr.responseText);
if (data.success) {

}
};
xdr.onerror = function (e) {
alert(e);
};
xdr.open("GET", url);
xdr.send();
}else{
$.get(url, {}, function (data) {
if (data.success) {

}
}, 'json');
}

或者采用jsonp的方式,jsonp只支持get方式

$.ajax({
url: "",
dataType: "jsonp",
jsonp: "callback",
data: {action: "action", options: options},
success: function (data) {
if (data.status) { }
else { }
}});

注意返回值必须用$_GET['callback']括起来。

上一篇:R 语言中文乱码问题


下一篇:使用eclipse创建一个简单的Java Web应用程序