Angularjs `$http` 发送 POST 而不是 GET

Posted

技术标签:

【中文标题】Angularjs `$http` 发送 POST 而不是 GET【英文标题】:Angular JS `$http` sends POST instead of GET 【发布时间】:2015-06-02 04:32:06 【问题描述】:

这段代码,

$http.jsonp('http://localhost:3000/students?callback=JSON_CALLBACK',
                data:student,
                method:'POST'
)

发送 GET 请求而不是 POST 请求。 Rails 日志:

Started GET "/students?callback=angular.callbacks._1" for ::1 at 2015-03-28 
20:07:30 -0500
Processing by StudentsController#index as */*
  Parameters: "callback"=>"angular.callbacks._1"
  Student Load (0.5ms)  SELECT `students`.* FROM `students`
  Rendered students/index.jpbuilder (2.4ms)
Completed 200 OK in 7ms (Views: 5.9ms | ActiveRecord: 0.5ms)

我该如何解决这个问题?

【问题讨论】:

【参考方案1】:

JSONP 请求只能是GET 请求。我会看一下this 的帖子,详细说明为什么这是不可能的。

【讨论】:

以上是关于Angularjs `$http` 发送 POST 而不是 GET的主要内容,如果未能解决你的问题,请参考以下文章

后端接收不到AngularJs中$http.post发送的数据的问题

Angularjs $http.post

如何使用 _csrf 在 angularjs 中发送 POST 请求?

[Angularjs]$http.post与$.post

AngularJS:POST请求返回302后发送的GET请求用于登录

Angularjs 获取 OPTIONS 和 POST 请求