Köşeli 2 ile bazı JSON verilerini almak için Http.post() kullanıyorum. CURL veya HttpRequestor kullandığımda her şey düzgün çalışıyor. Ancak, Angular ile İçerik Uzunluğu> 0 olan bir Yanıt Üstbilgisi alıyorum ancak Yanıtın kendisinde veri yok.Köşeli 2 - İçerik Uzunluğu> 0 olan ancak içerik içermeyen bir POST Yanıt Başlığı Alma
public retrieveJsonData() {
var url = 'https://somewhere.com/whatever/GetItem?token=XXXX&resource=YYYY&data=%7B%22id%22%3A2207%7D';
let options = new RequestOptions({});
return this.http
.post(url, '', options)
.map(result => result.json())
.catch(this.handleError);
}
talep Başlıkları:
POST /whatever/GetItem?token=XXXX&resource=YYYY&data=%7B%22id%22%3A2207%7D HTTP/1.1
Host: somewhere.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:45.0) Gecko/20100101 Firefox/45.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: http://localhost:8888/
Content-Length: 0
Content-Type: text/plain;charset=UTF-8
Origin: http://localhost:8888
Connection: keep-alive
Tepki Başlıkları:
HTTP/1.1 200 OK
Date: Tue, 12 Apr 2016 22:49:23 GMT
Server: Apache/2.2.15 (CentOS) mod_ssl/2.2.15 OpenSSL/1.0.1e-fips
Set-Cookie: Foo=6djdhg7pnsqavk0nqa83u7rqt6; path=/; secure
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Length: 1311
Keep-Alive: timeout=15, max=1000
Connection: Keep-Alive
Content-Type: text/json
= 1311 bu örnekte Yani
içerik-uzunluk ancak yanıt boştur. HttpRequester gibi bir araç kullanırsam POST beklendiği gibi çalışır ve yanıt 1311 karakterdir. Ne oluyor? İşte
Yanıt yanıtı doğruysa tarayıcınızın geliştirici araçlarında yanıt gövdesini görebiliyorsunuz, bu durumda kodunuzda hata var demektir. GET kullanmak istediğiniz gibi görünüyor, ancak mevcut yöntem POST. – kemsky
Yukarıdaki istek ve yanıt başlıkları, Firebug'dan doğrudan kopyalanır. Bu çağrı için bir POST isteği gerekiyor ve Angular 2 dışındaki ortamlarda düzgün çalışıyor. – ebakunin