文件上传jsonajax
⑴ 如何用ajax上传文件
引入ajaxfileupload.js
java">jQuery.extend({
createUploadIframe:function(id,uri)
{
//createframe
varframeId='jUploadFrame'+id;
if(window.ActiveXObject){
vario=document.createElement('<iframeid="'+frameId+'"name="'+frameId+'"/>');
if(typeofuri=='boolean'){
io.src='javascript:false';
}
elseif(typeofuri=='string'){
io.src=uri;
}
}
else{
vario=document.createElement('iframe');
io.id=frameId;
io.name=frameId;
}
io.style.position='absolute';
io.style.top='-1000px';
io.style.left='-1000px';
document.body.appendChild(io);
returnio
},
createUploadForm:function(id,fileElementId)
{
//createform
varformId='jUploadForm'+id;
varfileId='jUploadFile'+id;
varform=$('<formaction=""method="POST"name="'+formId+'"id="'+formId+'"enctype="multipart/form-data"></form>');
varoldElement=$('#'+fileElementId);
varnewElement=$(oldElement).clone();
$(oldElement).attr('id',fileId);
$(oldElement).before(newElement);
$(oldElement).appendTo(form);
//setattributes
$(form).css('position','absolute');
$(form).css('top','-1200px');
$(form).css('left','-1200px');
$(form).appendTo('body');
returnform;
},
addOtherRequestsToForm:function(form,data)
{
//addextraparameter
varoriginalElement=$('<inputtype="hidden"name=""value="">');
for(varkeyindata){
name=key;
value=data[key];
varcloneElement=originalElement.clone();
cloneElement.attr({'name':name,'value':value});
$(cloneElement).appendTo(form);
}
returnform;
},
ajaxFileUpload:function(s){
//TODOintroceglobalsettings,,notonlytimeout
s=jQuery.extend({},jQuery.ajaxSettings,s);
varid=newDate().getTime()
varform=jQuery.createUploadForm(id,s.fileElementId);
if(s.data)form=jQuery.addOtherRequestsToForm(form,s.data);
vario=jQuery.createUploadIframe(id,s.secureuri);
varframeId='jUploadFrame'+id;
varformId='jUploadForm'+id;
//Watchforanewsetofrequests
if(s.global&&!jQuery.active++)
{
jQuery.event.trigger("ajaxStart");
}
varrequestDone=false;
//Createtherequestobject
varxml={}
if(s.global)
jQuery.event.trigger("ajaxSend",[xml,s]);
//Waitforaresponsetocomeback
varuploadCallback=function(isTimeout)
{
vario=document.getElementById(frameId);
try
{
if(io.contentWindow)
{
xml.responseText=io.contentWindow.document.body?io.contentWindow.document.body.innerHTML:null;
xml.responseXML=io.contentWindow.document.XMLDocument?io.contentWindow.document.XMLDocument:io.contentWindow.document;
}elseif(io.contentDocument)
{
xml.responseText=io.contentDocument.document.body?io.contentDocument.document.body.innerHTML:null;
xml.responseXML=io.contentDocument.document.XMLDocument?io.contentDocument.document.XMLDocument:io.contentDocument.document;
}
}catch(e)
{
jQuery.handleError(s,xml,null,e);
}
if(xml||isTimeout=="timeout")
{
requestDone=true;
varstatus;
try{
status=isTimeout!="timeout"?"success":"error";
//
if(status!="error")
{
//processthedata()
vardata=jQuery.uploadHttpData(xml,s.dataType);
//Ifalocalcallbackwasspecified,fireitandpassitthedata
if(s.success)
s.success(data,status);
//Firetheglobalcallback
if(s.global)
jQuery.event.trigger("ajaxSuccess",[xml,s]);
}else
jQuery.handleError(s,xml,status);
}catch(e)
{
status="error";
jQuery.handleError(s,xml,status,e);
}
//Therequestwascompleted
if(s.global)
jQuery.event.trigger("ajaxComplete",[xml,s]);
//HandletheglobalAJAXcounter
if(s.global&&!--jQuery.active)
jQuery.event.trigger("ajaxStop");
//Processresult
if(s.complete)
s.complete(xml,status);
jQuery(io).unbind()
setTimeout(function()
{ try
{
$(io).remove();
$(form).remove();
}catch(e)
{
jQuery.handleError(s,xml,null,e);
}
},100)
xml=null
}
}
//Timeoutchecker
if(s.timeout>0)
{
setTimeout(function(){
//
if(!requestDone)uploadCallback("timeout");
},s.timeout);
}
try
{
//vario=$('#'+frameId);
varform=$('#'+formId);
$(form).attr('action',s.url);
$(form).attr('method','POST');
$(form).attr('target',frameId);
if(form.encoding)
{
form.encoding='multipart/form-data';
}
else
{
form.enctype='multipart/form-data';
}
$(form).submit();
}catch(e)
{
jQuery.handleError(s,xml,null,e);
}
if(window.attachEvent){
document.getElementById(frameId).attachEvent('onload',uploadCallback);
}
else{
document.getElementById(frameId).addEventListener('load',uploadCallback,false);
}
return{abort:function(){}};
},
uploadHttpData:function(r,type){
vardata=!type;
data=type=="xml"||data?r.responseXML:r.responseText;
//Ifthetypeis"script",evalitinglobalcontext
if(type=="script")
jQuery.globalEval(data);
//GettheJavaScriptobject,ifJSONisused.
if(type=="json")
{
//,
//youhavetodeletethe'<pre></pre>'tag.
//ThepretaginChromehasattribute,sohavetouseregextoremove
vardata=r.responseText;
varrx=newRegExp("<pre.*?>(.*?)</pre>","i");
varam=rx.exec(data);
//thisisthedesireddataextracted
vardata=(am)?am[1]:"";//theonlysubmatchorempty
eval("data="+data);
}
//evaluatescriptswithinhtml
if(type=="html")
jQuery("<div>").html(data).evalScripts();
//alert($('param',data).each(function(){alert($(this).attr('value'));}));
returndata;
}
})
2.引入上传文件所需的jar
7.获取之后怎么处理自己看着办咯,我只能帮到这里了
⑵ js ajax怎么传送json数据
JSONArray json = JSONArray.fromObject(models); //list集合数据转json
response.getWriter().println(json);//传到前台
//ajax
success: function(data){
var models = eval("("+data+")");
var rows="";
for(var i in models){
rows =rows + "<tr>"+
"<td>"+models[i].statDate+"</td>"+
"<td>"+models[i].endDate+"</td>"+
"<td>"+models[i].name+"</td>"+
"</tr>" ;
}
$("#show_table").append(rows);//添加到table
PS:这是Servlet的写法
⑶ 几种常用的ajax配合json数据格式向后台发送
一、$.ajax()(无刷新)
jsonp格式:以url形式传递拼接数据:http://192.168.1.1/pwc/esb?gn=tx&cz=list&id=1&shzt=5
varparam={id:$("#cxsq_xk_id").val(),shzt:$('input[name="cxsq_sfcd"]:checked').val()}
$.ajax({
type:"POST",//请求方式post
dataType:'jsonp',//数据类型jsonp
jsonp:"jsoncallback",//回调类型jsonp
contentType:"application/x-www-form-urlencoded;charset=utf-8",//请求内容类型(键值对,编码格式utf-8)
url:"/esb?gn=ts&cz=check",//请求地址
data:param,//请求附带参数
timeout:20000,//请求超时时间(20秒)
error:function(XMLHttpRequest,textStatus,errorThrown){//请求错误捕捉
alert("连接服务器失败,请重试!");
},
success:function(responseData){//请求成功捕捉
$("#modal_cxsq").modal('hide');
InitData(cur_page);
$("#btn_modal_ts_tj").attr("disabled",false);
}
});
⑷ 如何使用ajax将json传入后台数据
$.ajax({
type:"POST",
url:"login.action",
data:"userName=admin&password=admin",
success:function(msg){
alert("returnMsg:"+msg);
}
});
data哪里就是在想后台传送数据,如果数据是json格式的,那么拼接一下就可以了,例如:
data:"userName="+json.name+"&password="+json.pwd;
⑸ 如何上传json格式的数据到服务器
首先,你可以手动拼json。然后是人ajax的方式,或者window.loacation=url的方式向服务端提交。
其次,但是不管你怎么拼,都不能发送图片等文件到服务器!
这并不是说json格式不行,而是在页面上发送信息到服务端的时候文件类的是由浏览器自动转为流的,而你在页面上的任何脚本都不能读取文件!
⑹ 后端怎么把json数据发送给ajax
用ajax访问后台方法,这个后台方法把json数据返回就行了,ajax请求完毕会有个回调函数,回调函数的参数就是后台返回的json数据。如:
$.ajax("ur",function(data){//详情的请求我就不写了,只写个回调函数
//这里是回调函数
varobj=data;//后台返回的json数据
});
你可以试一下,需要注意的是ajax访问后台方法的地址不要错了,有时候地址错误所以回调函数就没有反应。
⑺ JSONPlaceholder本地创建的json文件,怎么上传到服务器
json就是一个字符串。
把字符串发送到服务器有很多种方式。
http 可以用ajax
tcp/udp 可以用socket
HttpServlet 就是http协议
<script src="${yourcontext}/javascripts/jquery-1.4.4.js" type="text/javascript"></script>
$.ajax({
type: 'POST',
url:'${model}${changeClass}',//你的url
data:json,//你的json数据
dataType:"json",
cache: false,
success: function(data){
alert(data);//发送json之后,服务器的返回
}
});
⑻ Ajax调用restful接口传送Json格式数据的方法
ajax传送json格式数据,关键是指定contentType,data要是json格式
如果是restful接口,把type改成对应的post(增)、delete(删)、put(改)、get(查)即可
var
post_data={"name":"test001","pass":"xxxx"};
$.ajax({
url:
"http://192.168.10.111:8080/uc/login",
type:
'post',
contentType:
"application/json;
charset=utf-8",
data:JSON.stringify(post_data),
success:function
(data)
{
//调用成功
},
error:
function(data,
textStatus,
errorThrown){
//调用失败
}
});
以上所述是小编给大家介绍的Ajax调用restful接口传送Json格式数据的方法的全部叙述,希望对大家有所帮助,如果大家想了解更多内容敬请关注脚本之家网站!