kuanhsuh
8/9/2017 - 2:23 AM

cool way of getting ajax

cool way of getting ajax

componentWillMount() {
    var me = this;
    const getInitData = {
      url:API_URL.URLADDUSER_UPDATA,
      dataType:'text'
    };
    $.ajax(getInitData)
    .done((res) => {
      try {
        let data = JSON.parse(res);
        this.setState({isUsertype: data.isUsertype})
        $(".ui.radio.checkbox").checkbox();
        $(me.refs.form).removeClass("loading");
        $(me.refs.point).dropdown();
        $(me.refs.form).form({
          inline:true,
          fields: CHECK_FIELDS,
          onSuccess: (e,f) => {
            e.preventDefault();
            var me = $(this);
            me.addClass('loading');
            if(parseFloat(f.point) < 0.1) {
              sweetAlert({
                title:"糟糕",
                text:"当前自身保留返点不能低于0.1",
                type:"error",
                confirmButtonText:"确定"
              });
              me.removeClass('loading');
            }else if($("#userpass").val() === $("#username").val()){
                sweetAlert({
                  title:"密码不可与帐户相同",
                  text:data.message,
                  confirmButtonText:"确定",
                  type:"error"
                });
            }
            else{
              const ajaxParams = {
                url:API_URL.ADDUSER_UPDATA,
                method:"POST",
                data:{
                  usertype:f.usertype,
                  username:f.username,
                  userpass:f.userpass,
                  nickname:f.nickname,
                  point:f.point
                },
                dataType:'text'
              };
              const successCB = (data) => {
                try{
                  let res = JSON.parse(data);
                  if(res.status == 1) {
                    sweetAlert({
                      title:"恭喜",
                      text:res.message,
                      confirmButtonText:"确定",
                      type:"success"
                    }, () => {
                      browserHistory.push("/newgame_play.shtml?flag=userlist");
                    })
                  }
                  else{
                    sweetAlert({
                      title:"糟糕",
                      text:res.message,
                      confirmButtonText:"确定",
                      type:"error"
                    }, () => {
                      me.removeClass('loading');
                    })
                  }
                }
                catch (err) {
                  if(refreshPattern.test(res)){
                    location.reload();
                  }
                  else {
                    console.log(res);
                    sweetAlert({
                      title:"糟糕",
                      text:"无法解析资讯",
                      confirmButtonText:"确定",
                      type:"error"
                    });
                  }
                }
              }
              const errorCB = (xhr, err) => {
                ajaxErrorHandler(xhr, err, ()=>{
                  me.removeClass('loading');
                });
              };
              $.ajax(ajaxParams)
              .done(successCB)
              .fail(errorCB);
            }
          }
        })
      }
      catch (err) {
        if( refreshPattern.test(res) ){
          location.reload();
        }
        else {
          sweetAlert({
            title:"糟糕",
            text:"无法解析资讯",
            confirmButtonText:"确定",
            type:"error"
          });
        }
      }
    })
    .fail((xhr, err) => {
      ajaxErrorHandler(xhr, err);
    })
  }