我已经编写了一个使用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>
答案 0 :(得分:0)
这显然是一个后端问题,你可能应该允许后端的CORS,然后在发出POST请求时从前端发出,首先它发送一个预检调用作为OPTIONS,如果成功,那么你做的实际POST请求将是发送