Jquery Ajax POST call 400错误请求/访问控制允许原始标头不存在,即使邮递员在执行选项请求时说它已设置

Jquery Ajax POST call 400错误请求/访问控制允许原始标头不存在,即使邮递员在执行选项请求时说它已设置,jquery,ajax,post,webservice-client,Jquery,Ajax,Post,Webservice Client,我想调用一个用JAVA编写的rest webservice,我知道如果它是跨域请求,并且当我按如下方式执行请求时,必须设置访问控制允许源 $.ajax({ 类型:“POST”, url:url, 数据类型:“json”, contentType:“应用程序/json”, 数据:计时, 标题: { //一些标题 }, 成功:功能(数据) { 警报(数据); }, 错误:函数(xhr) { 警报(xhr.responseText); } }); 我得到了400个错误的请求,原因是我想对象不是JSO

我想调用一个用JAVA编写的rest webservice,我知道如果它是跨域请求,并且当我按如下方式执行请求时,必须设置访问控制允许源

$.ajax({
类型:“POST”,
url:url,
数据类型:“json”,
contentType:“应用程序/json”,
数据:计时,
标题:
{
//一些标题
},
成功:功能(数据)
{
警报(数据);
},
错误:函数(xhr)
{
警报(xhr.responseText);
}
});

我得到了400个错误的请求,原因是我想对象不是JSON格式的

但是当我按要求做的时候

$.ajax({
类型:“POST”,
url:url,
数据类型:“json”,
contentType:“应用程序/json”,
数据:JSON.stringify(时钟),
标题:
{
//一些标题
},
成功:功能(数据)
{
警报(数据);
},
错误:函数(xhr)
{
警报(xhr.responseText);
}
});

I get Access Control Allow Origin标头不存在,但当我通过邮递员执行选项请求时,我看到Access Control Allow Origin→* 在标题中设置

我还想知道为什么访问控制允许方法和访问控制最大年龄设置了两次。这是否会导致错误,使我无法检索访问控制允许源


有人有什么提示吗?我认为存在服务器端问题,但不幸的是,我没有服务器端代码,因为它是由另一个人编写的

我知道答案可能晚了,但对于其他可能有同样问题的人,我猜是这样的

首先,如果请求本身失败,服务器端将无法设置用于响应的Access Control Allow Origin header,因此您在没有
Access Control Allow Origin
header的情况下获得响应


其次,错误400表示
Web服务器(运行网站)认为客户端发送的数据流“格式不正确”
。我最好的猜测是,您的数据没有遵守服务器端的规则(例如API规范)。

时钟是数组还是对象?时钟是对象