我有一个像这样的html表单:
<form method="post" action="https://serviceURL/">
<input name="account" ng-value="form.account" type="hidden">
<input name="name" ng-value="form.name" type="text">
<button type="submit">Continue</button>
</form>
当我提交表格时,一切都很完美。但是当我尝试在角度服务中做同样的帖子请求时,我得到了
无法加载https://serviceURL/预检的响应包含无效的HTTP状态代码504
我的服务功能如下所示
service.callServer =function(){
var query = "https://serviceURL/";
$http.post(query,{account:123,name:'jhon'});
}
我的问题是:这些类型的请求有什么区别? html操作帖子是否添加了一些http.post没有的标题?
答案 0 :(得分:4)
这很可能是因为CORS。除非服务器设置Access-Control-Allow-Origin
标头指定您的域,否则无法将Ajax请求提交到您所在的域以外的域。为了验证这一点,浏览器首先发送preflight
OPTIONS请求,似乎您的服务器响应该请求的错误。这不适用于提交html表单,因为它不是AJAX请求。