Juery结合iframe实现无刷新上传图片的代码

发布时间:2019-10-05编辑:脚本学堂
本文介绍下,Jquery与iframe相结合,实现无刷新上传图片的一例代码,有需要的朋友,参考下吧。

本例用jquery实现无刷新异步上传图片,结合iframe来上传图片,具体实现方法如下。

1、HTML中form表单相关代码
 

<form method="post" enctype="multipart/form-data" action="http://www.jb200.com/upload" target="uploadiframe" style="display"none;">
    <input type="file" id="file-input" name="file">
    <input type="submit" id="file-submit">
    <iframe name="uploadiframe"></iframe>
</form>

解释:
在form表单中会有一个iframe,此处便是要在from中设置target等于iframe的name,使form表单提交到iframe中。
此时,可以在js中写入代码:
 

复制代码 代码示例:
$(".file-button").bind("click",function(){
    $("#file-input").trigger("click");
});
$("#file-input").bind("change",function(){
    $("#file-submit").trigger("click");
});
function onUploadSuccess(data){
    //the function after upload
}

这时,只需后端在上传接口的返回值中,调用parent的onUploadSuccess方法即可:
 

复制代码 代码示例:
<script type="text/javascript">
    document.domain = "sample.com";
    window.parent.onUploadSuccess({"code":0,"msg":"","data":{"width:,"height":,"url":""}});
</script>

说明:在iframe中加入domain的设置是为了防止JS对于跨域的验证