html post和js http.post的区别

Posted

技术标签:

【中文标题】html post和js http.post的区别【英文标题】:Difference betwen html post and js http.post 【发布时间】:2017-03-18 14:20:36 【问题描述】:

我有一个这样的 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>

当我提交表单时,一切都很完美。但是当我尝试在 Angular 服务中执行相同的发布请求时,我得到了

无法加载 https://serviceURL/ 预检响应包含无效的 HTTP 状态代码 504

我的服务功能是这样的

service.callServer =function()
    var query = "https://serviceURL/";      
    $http.post(query,account:123,name:'jhon');


我的问题是:这些类型的请求有什么区别? html 操作帖子是否添加了一些 http.post 没有的标头?

【问题讨论】:

相关:***.com/questions/22968406/… 【参考方案1】:

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

【讨论】:

您的回答对我来说很清楚,感谢您的宝贵时间

以上是关于html post和js http.post的区别的主要内容,如果未能解决你的问题,请参考以下文章

node.js能否接收http post数据吗

HTTP POST GET 本质区别详解

在 Node.JS 中获取 http post 表单数据

使用 Angular.js 的 HTTP POST

AJAX - Http 中 post 和 get 的区别

Http Post和Get方法的区别