1 var fileObj = document.getElementById("id").files[0]; // 获取文件对象 2 var FileController = url; // 接收上传文件的后台地址 3 // FormData 对象 4 var form = new FormData(); 5 form.append("file", fileObj); // 文件对象 6 // XMLHttpRequest 对象 7 var xhr = new XMLHttpRequest(); 8 xhr.open("post", FileController, true); 9 xhr.onload = function (data) { 10 var a=data.target.responseText; 11 var b=JSON.parse(a);13 //获取上传成功之后后台传回的数据18 }; 19 xhr.send(form);
1 var xhr = new XMLHttpRequest(); 2 xhr.open("get", url, true); 3 xhr.onreadystatechange = function() { 4 if (xhr.readyState == 4 && xhr.status == 200) { 5 console.log(xhr.responseText); 6 } 7 }; 8 xhr.send(null);
以上两个是原生js写法,第一段是文件传输,第二个是获取数据。
jq获取数据传递数据如下
1 $.get('url',function(data){});
1 $.post('url',{Id:aa},function(data){});
//或者
var param={Id:XX,name:XX};
$.post('url',param,function(data){});//参数少的直接写,多的话用这个方法看着舒服点。
关于跨域,之前和一个java后端合作,使用的是jsonp解决的,基于jq,代码如下
1 $.ajax({ 2 type: "get", 3 url:urll, 4 dataType: "jsonp", 5 success: function(data){ 6 7 }, 8 error:function(data){ 9 console.info(data); 10 } 11 });
获取浏览器上面的参数值
1 getUrlParam:function(name){//获取id 2 var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); 3 var r = window.location.search.substr(1).match(reg); 4 if(r != null) return unescape(r[2]); 5 return null; 6 }
getUrlParam('id')//传入参数名称