• 前后端分离关键技术


    前后端分离需要考虑以下几个问题:

    • 表单提交之后,前端的URL就被后台控制了
      一切提交表单都不能直接submit,要把表单数据通过ajax提交,而不能form.submit
      ajax提交表单的方式把url的控制权保留在了前端手中
    • 前后端分离之后,如何让多个html页面共用header,footer等公共部分
      通过组件(component)的方式,组件之间构成了一个树形结构。
    • 前后端分离之后,URL如何跳转
      前后端分离之后,整个前端就变成了SPA(单页面应用),就像一个手机APP一样,只有一个index.html,一切路由都是由前端js通过history控制的。

    传统的网站开发方式是MVC,一切html界面都必须是由后端来控制显示的,一切html页面皆是模板。不能直接访问模板,而必须通过后端Servlet来访问模板。掌握这条准则,就能在后端游刃有余。

    在前后端分离中,前端就像一个Android手机。Android手机发出的HTTP完全是AJAX方式的。
    传统的表单提交通过action来控制表单提交的目标URL,提交之后,URL跳转的权限就完全交给后端了。

    function doUpload() {  
         var formData = new FormData($( "#uploadForm" )[0]);  // 要求使用的html对象
         $.ajax({  
              url: 'http://localhost:8080/cfJAX_RS/rest/file/upload' ,  
              type: 'POST',  
              data: formData,  
              async: true,  
              // 下面三个参数要指定,如果不指定,会报一个JQuery的错误 
         cache: false,  
              contentType: false,  
              processData: false,  
              success: function (returndata) {  
                  alert(returndata);  
              },  
              error: function (returndata) {  
                  alert(returndata);  
              }  
         });  
    }
    

    FormData还可以使用纯的js方式编写。

    构造函数
    new FormData (optional HTMLFormElement form)
    参数
    form
    (可选) 一个HTML表单元素,可以包含任何形式的表单控件,包括文件输入框.
    方法
    append()
    给当前FormData对象添加一个键/值对.

    void append(DOMString name, Blob value, optional DOMString filename);
    void append(DOMString name, DOMString value);
    参数值
    name
    字段名称.
    value
    字段值.可以是,或者一个字符串,如果全都不是,则该值会被自动转换成字符串.
    filename(可选)
       指定文件的文件名,当value参数被指定为一个Blob对象或者一个File对象时,该文件名会被发送到服务器上,对于Blob对象来说,这个值默认为"blob".

  • 相关阅读:
    mysql中的乱码总结之mysql5中四个设置字符集的系统变量
    在Flash中添加“设为首页”“加为收藏”
    解决Flash影片中的图片抖动锯齿
    Mysql时间格式转换
    PHP 判断常量,变量和函数是否存在
    电子商务专业课内容及就业方向和情况
    商业化与非商业化
    KMP算法与一个经典概率问题
    KMP算法
    libevent 在window环境编译
  • 原文地址:https://www.cnblogs.com/weiyinfu/p/9271692.html
Copyright © 2020-2023  润新知