宽域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));

 

posted @ 2015-01-14 15:29  伤心木乃伊  阅读(217)  评论(0编辑  收藏