使用jquery上传图片并实现回显
<scripttype="text/javascript">
//上传
(异步)
functionuploadPic(){
//本次
jquery.form.js
varoptions
= {
url :"/business/upload.do",
type :"post",
dataType :"json",
success :function(data){
//执行回调的程序
//img
src = data.path
alert("~~~~~~~~~~~");
alert("...url:"+data.url);
$("#allUrl").attr("src",data.url);
}
}
//使用form
$("#addFormRess").ajaxSubmit(options);
}
</script>
发现图片上传成功,并能正确返回 url值,但是进入不到success
在页面上调试,发现提示
ReferenceError: $ is not defined
在网上找这个错误的问题,发现是因为新版本的jquery不支持handleError方法了,则可以去js脚本中认为添加
在jquery.js脚本中找到
jQuery.extend({
在这之前添加如下:
//modified
jQuery.extend({
handleError:function(s,
xhr, status, e) {
if(s.error)
{
s.error.call(s.context || s, xhr, status, e);
}
if(s.global)
{
(s.context ? jQuery(s.context) : jQuery.event).trigger("ajaxError",
[xhr, s, e]);
}
},
httpData:function(xhr,
type, s) {
varct=
xhr.getResponseHeader("content-type"),
xml = type =="xml"||
!type &&ct&&ct.indexOf("xml")
>= 0,
data = xml ? xhr.responseXML : xhr.responseText;
if(xml
&& data.documentElement.tagName =="parsererror")
throw"parsererror";
if(s
&& s.dataFilter)
data = s.dataFilter(data, type);
if(typeofdata
==="string")
{
if(type
=="script")
jQuery.globalEval(data);
if(type
=="json")
data = window["eval"]("("+
data +")");
}
returndata;
}
});
重新上传则可正确实现回显。