在开发中遇到跨域上传图片并且需要处理返回的数据。网上找了很久选择了服务器后台实现(因为2个域我都可以开发- -)
1、首先导入jquery.js和ajaxfileupload.js
2、$.ajaxFileUpload(
{
url: url, //用于文件上传的服务器端请求地址
type:'post',
secureuri: false, //是否需要安全协议,一般设置为false
fileElementId: fileId, //文件上传域的ID
dataType: 'text', //返回值类型 一般设置为json
success: function (data, status) //服务器成功响应处理函数
{
var obj = eval("(" + data + ")");
var prefix = obj.prefix;
var url = obj.url;
var realUrl = prefix + url;
$("#"+imgShow).attr("src",realUrl);
$("#"+imgShow).show();
if(null != url && url!="")
$("#"+imgUrl).attr("value",url);
$btn.removeAttr("disabled");
},
error: function (s, xml, a, e)//服务器响应失败处理函数
{
alert("不要点击太快");
//$btn.removeAttr("disabled");
}
}
);
url写要跨域的地址,在后台处理完上传来的图片之后,后台在利用重定向的方式(response.sendRedirect([本域的一个地址]+"?back="+[返回的数据]))把返回的参数返回到本域处理,然后return处理的结果即可在success中获取