解决使用jquery上传图片并实现回显失败,提示ReferenceError: $ is not defined

本文详细介绍了如何使用jQuery实现图片上传并显示URL的功能。通过设置异步请求和利用jQuery.form.js库,实现了图片上传成功后的回显操作。解决在页面调试中遇到的ReferenceError:$isnotdefined问题,通过在jQuery.js脚本中添加handleError方法来确保代码的正常运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用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;
  }
});

重新上传则可正确实现回显。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值