JS开发最佳实践

JS

刷新页面

window.location.reload(true);

JQuery

元素定位

按class查询 :               $(".myclass")
按ID查询 :                 $("#myid")
定位某个元素,查找子元素 : $(".quickMenu i").bind('click', function () {
函数里获得this的子元素  :  $(this).find('i').toggleClass("ticked");

Ajax 调用

jQuery.each( [ "put", "delete" ], function( i, method ) {
  jQuery[ method ] = function( url, data, callback, type )
{
    if ( jQuery.isFunction( data ) ) {
      type = type || callback;
      callback = data;
      data = undefined;
    }

    return jQuery.ajax({
      url: url,
      type: method,
      dataType: type,
      data: data,
      success: callback
    });
  };
});

$.put('http://stackoverflow.com/posts/22786755/edit', {text:'new text'}, function(result){
   console.log(result);
})

对应的spring mvc 代码

@RequestMapping(value = "resubmit/{id}", method = RequestMethod.PUT)
@ResponseStatus(HttpStatus.CREATED)
@ResponseBody
public String reSubmitVMApply(@PathVariable("id") Long id, HttpServletRequest request, HttpServletResponse response)
        throws BindException {
$('#submitBtn').click(function () {
        //alert($('#reason').val());
        if( $('#reason').val() == undefined  ||  $('#reason').val() == null ||  $('#reason').val() == ""){
            $("#alertNull").css("color","red");
            return false;
        }
        return submitApply();
    });

    function submitApply() {
        var formParam = $("#vmApplyForm").serialize();//序列化表格内容为字符串
        $.ajax({
            type: 'post',
            url: '/air/vms',
            data: formParam,
            cache: false,
           // dataType: 'json',
            success: function (data) {
                //alert("data:"+data);
                 $("#alertNull").css("color","#3a87ad");
                 $("#alertSuccess").css("display","block");//delete
                if(data.toString().equals("草稿")){
                    $("#alertFail").css("display","block");
                }else{
                    $("#alertSuccess").css("display","block");
                }
            }
        });
        return false;
    }

对应java 代码

@RequestMapping(method = RequestMethod.POST, produces = "text/html;charset=UTF-8")
    @ResponseStatus(HttpStatus.CREATED)
    @ResponseBody
    public String createVMApply(@Valid VMApply vmApply,
                         BindingResult result, HttpServletRequest request, HttpServletResponse response)
            throws BindException {

jqgrid

React

NPM

Webpack

Comments

comments powered by Disqus