html post和js http.post

时间:2016-11-04 16:49:21

标签: javascript html angularjs

我有一个像这样的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没有的标题?

1 个答案:

答案 0 :(得分:4)

这很可能是因为CORS。除非服务器设置Access-Control-Allow-Origin标头指定您的域,否则无法将Ajax请求提交到您所在的域以外的域。为了验证这一点,浏览器首先发送preflight OPTIONS请求,似乎您的服务器响应该请求的错误。这不适用于提交html表单,因为它不是AJAX请求。