使用jquery上传图片并实现回显
<scripttype="text/javascript">
//上传 (异步)
function
uploadPic(){
//本次 jquery.form.js
var
options = {
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) {
var
ct= 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
(
typeof
data ===
"string"
) {
if
(type ==
"script"
)
jQuery.globalEval(data);
if
(type ==
"json"
)
data = window[
"eval"
](
"("
+ data +
")"
);
}
return
data;
}
});
重新上传则可正确实现回显。