宽域POST提交数据
小数据宽域可以使用jsonp,但是大数据跨域必须post那么有以下2种方式
1,传统方式 动态生成form
var url = ''var $iframe = $("<iframe style='display:none' id='webPost__1' name='webPost__1'/>"); var $form = $("<form style='display:none' target=webPost__1 method=post id=formImg enctype=multipart/form-data/>").attr("action", url);
//普通参数
var pms = $.R.getUrlParms(settings.parms);//一个小方法 把所有的url参数转化成json格式 if (pms) { for (k in pms) { var $input = $("<input type='text'>").attr({ "name": k, value: pms[k] }); $form.append($input); } }
// 文件数据 for (var lipp = 0; lipp < settings.file.length; lipp++) { $form.append(settings.file[lipp]); } var $box = $("<div />").append($iframe).append($form); $('body').append($box); $form.submit();
2 html5 出道之后更加方便了
var url = "upimage.aspx";
//formImg1 是个from 表单 ,表单里面的所有数据包括文本 图片 文件等格式的数据来初始化一个FormData var formobj = document.getElementById("formImg1");
//formData = formobj.FormData(formobj);
var formData = new FormData(formobj);
//初始化数据之外的数据也可以通过append 增加进来
var pms = $.R.getUrlParms("a=1&b=2");
if (pms) { for (k in pms) { formData.append(k, pms[k]); } }; var xhr = new XMLHttpRequest(); xhr.open("POST", url); alert(xhr.send(formData));