周总结关于项目

这周静态页面基本已经完工,没剩几个页面了,

在交互方面实现了,用户的登录注册,账户信息的修改,菜谱步骤的上传(实现了一半),这周的交互我发现前后端传收数据,需要确定好发送的格式,需要与后端讨论好如何去存储一些信息,此次的图片上传中,学会了使用JS原生的FormData来传输文件,传输文件时要使用$.ajax而不能直接使用$.post因为需要调整一些参数的类型,

如下是一个例子

我使用$.ajax传输一个图片文件

其中把

contentType设置成了false

processData设置成了false

就时不对我所发送的数据做处理;直接发送

function userimg2(param) {
   let file=param.files[0];
   let senddata = new FormData();
   senddata.append("file",file);
   senddata.append("id",1);
   let ready = new FileReader();
   $.ajax({
      type: "post",
      url: "http://10.102.241.171:8080/user/insertUserPhoto",
      data: senddata,
      contentType:false,
      processData:false,
      success: function (response) {
       if(response.msg=="插入成功!"){
          console.log(response.msg);
            let name1 = param.parentNode.parentNode.children[0];
            ready.readAsDataURL(file);
            ready.onload = function (ev) {
               name1.setAttribute("src",ev.target.result);
              }
       }
      },
      error:function (param) {
         alert("失败了");
        }
   });
}

还有就是,插入图片的直接显示

如下传入一个类型为file的input 

通过readAsDataUrl把文件转为base64格式直接赋给img的src属性就能显示了

function imgup(obj){
    let file=obj.files[0];
	let reader = new  FileReader();
	let name1=obj.parentNode.children[0];
     reader.readAsDataURL(file);
     reader.onload = function (ev) {
        /*  $(name).attr("src", ev.target.result); */
		 name1.setAttribute("src",ev.target.result)
     }
 }

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

源刃

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值