了解http请求

时间:2017-03-15 16:43:19

标签: javascript jquery ajax

我已经编写了一个使用jQuery AJAX发送POST请求的示例代码。无论何时发出请求,我都会收到错误:

  

XMLHttpRequest无法加载。预检的响应具有无效的HTTP状态代码403

我不确定这个错误是在我身边还是在后端。所以我想知道error code 403的含义以及导致这种情况的原因。另外我发布了示例代码,请注意该网址是虚拟网址,因此如有任何错误请告知我们。

$(document).ready(function() {
  "use strict";
  $('form.form-email').submit(function(event) {
    if (event.preventDefault) 
      event.preventDefault();
    else 
      event.returnValue = false;

    var validateForm = $(this).closest('form-form-email');
    //var sample = validateForm.serialize();
    var name = $('#name').val();
    var dd = $('#dd').val();
    var contactNum = $('#contactNum').val();
    var email = $('#email').val();
    var time = $('#time').val();
    var sendData = {
      sendname: name,
      sendDD: dd,
      sendcontact: contactNum,
      sendemail: email,
      sendtime: time
    };
    console.log(sendData);

    debugger;
    $.ajax({
      type: 'POST',
      contentType: "application/json",
      url: 'dummyurl',
      data: sendData,
      dataType: "json",
      // data:$(this).serialize(),
      success: function(result) {
        console.log(data);
      },
      error: function(error) {
        console.log(error);
      }
    });
  });
  // });
});
<form id="contactPage" class="form-email">
  <input type="text" class="form-control input-lg input-sm validate-required" id="name" placeholder="Contact Person" />
  <div class="form-group">
    <select class="form-control input-lg bfh-countries wrapper-dropdown-2 validate-required" id="dd" data-country="US"></select>
  </div>
  <input type="text" class="form-control input-lg validate-required" id="contactNum" placeholder="Contact Number" />
  <input type="text" class="form-control input-lg validate-required validate-email" id="email" placeholder="Email Address" />
  <input type="time" class="form-group form-control input-lg validate-required" id="time" placeholder="Time" />
  <input type="submit" class="form-group form-control" value="Contact" />
</form>

1 个答案:

答案 0 :(得分:0)

这显然是一个后端问题,你可能应该允许后端的CORS,然后在发出POST请求时从前端发出,首先它发送一个预检调用作为OPTIONS,如果成功,那么你做的实际POST请求将是发送