serializeArray、错误信息渲染

一、ComboBox控件

Click和Change这两个事件到底有什么不同呢?

Click事件是选择列表项,而Change事件则是编辑内容。

这两个事件的结果都是使ComboBox控件中的现实内容发生变化。

但是一个是通过鼠标点击,即Click。另一个是通过在输入框中编辑内容,即Change。

二、文件阅读器对象FileReader

1、.readAsDataURL 方法

例子:

  $('#id_avatar').change(function () {
     //1先获取用户上传的头像文件  $(this) 表示指代的是  <input type="file" name="myfile" 这个input 框
        // $(this)[0]中的0表示 转成原生js对象
        //.files[0]  表示 点files 再取索引0 就能拿到这个文件了
        var avaterFile = $(this)[0].files[0];
     //2利用文件阅读器对象FileReader
        var myFileReader = new FileReader();
     //3将文件交由阅读器对象读取
        myFileReader.readAsDataURL(avaterFile)


    })

 三、知识点

1、img 标签中的src 属性 可以放图片的路径,可以放url,可以放一个二进制数据

2、onload 表示等待   什么什么(文件阅读器对象读取文件)之后再操作什么

3、 location.href = data.url    表示要跳转页面

  success:function (data) {
if (data.code===1000){
// code 等于1000 表示注册成功,要跳转页面
location.href = data.url



四、内置对象FormData  用来向后端提交 既有普通数据又有文件的 请求

五、.serializeArray()   表示能拿到普通input框的普通键值对

      既是:input框的名字:input框中的内容

        这是方法可以帮你把form标签内部所有的普通键值对自动打包了,就可以直接用each循环拿到每个键值对了

 //点击按钮触发ajax提交动作
    $('#id_submit').on('click',function () {
      //1.先生成一个内置对象FormData
        var myFormData = new FormData();
      //2.添加普通键值对
        console.log($('#myform').serializeArray())

这是  //2.添加普通键值对  console.log($('#myform').serializeArray()) 的结果

 

 六、$.each() 表示循环

   //点击按钮触发ajax提交动作
    $('#id_submit').on('click',function () {
      //1.先生成一个内置对象FormData
        var myFormData = new FormData();
      //2.添加普通键值对,each表示循环,依次拿出普通键值对
        {# .serializeArray()   表示能拿到普通input框的 普通键值对既是:input框的名字:input框中的内容#}
        {# console.log($('#myform').serializeArray())#}
        $.each($('#myform').serializeArray(),function (index,obj) {
            console.log(index,obj)
        })

index和obj 是指

七、前端错误信息的渲染

 // 这里的data是views中的back_dic
            success:function (data) {
                if (data.code===1000){
                    // code 等于1000 表示注册成功,要跳转页面
                    location.href = data.url

                }else{
                    console.log(data.msg)
                }

 

 怎样把错误信息渲染到对应的框后面

可以看出每个框的id是什么

 

 

 由此得出结论是:每个框的id为:id_框的名字 既是:id_字段名

  // 这里的data是views中的back_dic
            success:function (data) {
                if (data.code===1000){
                    // code 等于1000 表示注册成功,要跳转页面
                    location.href = data.url

                }else{
                    $.each(data.msg,function (index,obj) {
                        console.log(index,obj)
                    })
                }

循环这个msg 到前端展示时,它是

 

posted @ 2020-01-31 15:53  薛定谔的猫66  阅读(230)  评论(0)    收藏  举报