jQuery在服务器在线,本地主机上返回不建议使用的错误

时间:2018-06-20 04:43:15

标签: javascript jquery xmlhttprequest

我的脚本使用jQuery 3.3.1请求登录页面,并在服务器上返回错误而不是登录或注销,而Apache / Linux上的PHP是5.6,并且工作所在的本地服务器是同一版本可以。

<form class="js-validate" id="formLogin" name="formLogin" autocomplete="off" accept-charset="UTF-8" onSubmit="return false;">

  <div class="row">                 
    <div class="col-xs-12 col-sm-12 col-md-6 col-lg-6 mb-6">
      <div class="js-form-message">
        <label for="user_email" class="h5 d-block text-uppercase">Email address</label>
        <div class="js-focus-state input-group u-form">
          <input type="email" autocomplete="false" class="form-control u-form__input" id="user_email" name="user_email" required placeholder="email@example.com" aria-label="email@example.com" data-msg="Please enter a valid email address." data-error-class="u-has-error" data-success-class="u-has-success">
        </div>
      </div>
    </div>

    <div class="col-xs-12 col-sm-12 col-md-6 col-lg-6 mb-6">
      <div class="js-form-message">
        <label for="user_password" class="h5 d-block text-uppercase">Password</label>
        <div class="js-focus-state input-group u-form">
          <input type="password" autocomplete="false" class="form-control u-form__input" id="user_password" name="user_password" required placeholder="********" aria-label="********" data-msg="Your password is invalid, please try again." data-error-class="u-has-error" data-success-class="u-has-success">
        </div>
      </div>
    </div>                      
  </div>
  <div class="row">
    <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12">
      <div id="returnResponse"></div>
    </div>
  </div>
  <div class="row">
    <div class="col-xs-12 col-sm-12 col-md-6 col-lg-6 text-left">
      <a class="font-size-14 font-weight-bold title-green" href="login/recuperar-senha/">I forgot my password!</a>
    </div>
    <div class="col-xs-12 col-sm-12 col-md-6 col-lg-6 text-right">
      <button id="btnSend" type="submit" class="btn btnp-success btn-sm color-1 material-design transition-3d-hover" data-color="#004740">Sign in</button>
    </div>
  </div>
</form>

<!-- SCRIPT - LOGIN -->
<script>
    $(document).ready(function(){
        $("#formLogin").on('submit', function(){
            $.ajax({
                type:'POST',
                url: "login/send-form/",
                data: $('#formLogin').serialize(),
                beforeSend: function(){
                    $('#btnSend').attr("disabled","disabled");
                    $('#formLogin').css("opacity",".5");
                },
                success: function(data) {
                    $('#formLogin')[0].reset();
                    $('#returnResponse').html(data);
                    $('#formLogin').css("opacity","");
                    $("#btnSend").removeAttr("disabled");
                    console.log(data);
                }
            });
        });
    });
</script>

在控制台上,它返回错误并且不执行请求,在localhost上,它起作用:

  

[Deprecation]主线程上的同步XMLHttpRequest是   不推荐使用,因为它对最终用户的有害影响   经验。如需更多帮助,请检查online

1 个答案:

答案 0 :(得分:0)

在阅读所提及的评论链接时,以下提到

”工作人员外部的XMLHttpRequest正在从Web平台中删除,因为这会对最终用户的体验产生不利影响。(这是一个漫长的过程,需要很多年。)开发人员不得通过当前全局对象是Window对象时,async参数为false。强烈建议用户代理警告开发人员工具中的此类用法,并可以尝试在发生“ InvalidAccessError” DOMException时抛出该异常。“

我认为您的ajax请求是如何同步的,默认情况下,该请求应该是异步的 jQuery Ajax,因此请尝试在您的Ajax请求中添加async: true