javascript - html post 和 js http.post 的区别

标签 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>

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

cannot load https://serviceURL/ Response for preflight has invalid HTTP status code 504

我的服务函数是这样的

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

}

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

最佳答案

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

关于javascript - html post 和 js http.post 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40427927/

相关文章:

javascript - AngularJS,用按钮清除输入文本

javascript - 图像不显示目录但显示图像代码

javascript - 三个js合并Geometries和Mesh

javascript - 在外部 js 文件中使用 javascript 库?

javascript - jquery 文件上传的全局开始/结束事件

jquery - 如何在保持侧面菜单隐藏的同时滚动 body 上的 "overflow: hidden;"?

javascript - 背景颜色不会延伸到带有滚动条的 div 框中的可见区域

javascript - 使用 javascript 更改 URL

javascript - 当用户使用 jquery 单击添加更多 anchor 标记时更改选择时获取 Null 值?

javascript - 将图标添加到谷歌地图