$ http.get () avec des données JSON
Je suis en train d'écrire une application serveur et je voulais le client à utiliser les données dans le corps de pararmeterize ma méthode GET, comme ceci:
# http -v GET http://localhost:3000/url text=123 foo=bar
GET /url HTTP/1.1
Accept: application/json
Accept-Encoding: gzip, deflate, compress
Content-Length: 29
Content-Type: application/json; charset=utf-8
Host: localhost:3000
User-Agent: HTTPie/0.4.0
{
"foo": "bar",
"text": "123"
}
Dans AngularJS j'ai essayé:
var params = {
"foo": "bar",
"text": "123"
}
//no body
$http({
method: 'GET',
url: '/url',
data: params })
//ugly url
//also has its limitation: http://stackoverflow.com/questions/978061/http-get-with-request-body
$http({
method: 'GET',
url: '/url',
params: params })
//params in body, but I wanted GET
$http({
method: 'POST',
url: '/url',
data: params })
Cela est-il normal ou un bug?
Je ne vois pas pourquoi à partir de la la documentation.
source d'informationauteur leesei
Vous devez vous connecter pour publier un commentaire.
Je profite de cette réponse:
Pour HTTP, il n'est pas interdit, mais vous ne devriez pas l'utiliser en tant que serveur peut (et DEVRAIT) ignorer le corps de
GET
demande.Référence: HTTP GET avec le corps de la requête
Pour XHR, corps de
GET
etHEAD
sera ignoré (nuancé par @jacob-koshy).Référence: https://xhr.spec.whatwg.org/#the-send()-méthode