Я хочу сделать следующий запрос POST в угловом 2.Создания запрос HTTP POST в угловом 2
http://gearman.local.eviry.com/info
с телом в виде следующей
{"gearman_servers" :[{
"name" : "server 1",
"addr" : "192.168.1.115"
},
{
"name" : "Server 2",
"addr" : "192.0.1.126"
}
]}
Я убедился, что это работает вне Угловым 2. (Использование POSTMAN) Я также удостоверился, что включен CORS.
Ниже мой угловой код
var url = 'http://gearman.local.eviry.com' +
'/info';
var GEARMAN_DATA = {"gearman_servers" :[{
"name" : "server 1",
"addr" : "192.168.1.115"
},
{
"name" : "Server 2",
"addr" : "192.0.1.126"
}]};
let body = JSON.stringify(GEARMAN_DATA);
let headers = new Headers({ 'Content-Type': 'application/json' });
let options = new RequestOptions({ headers: headers });
this.http.post(url, body, options)
.map(res => res.json())
.subscribe(
data => {console.log(data);},
err => this.logError(err),
() => console.log('Fetching complete for Server Metrics')
);
logError(err:Response){
console.log("some error");
console.log(err);
}
Однако, делая это дает мне ошибку
XMLHttpRequest cannot load http://gearman.local.eviry.com/info. Invalid HTTP status code 405
Кроме того, при печати на ошибку внутри функции logError
, я получаю следующее:
I Трудно понять, что не так с запросом.
запроса Заголовки, как показано
Accept:*/*
Accept-Encoding:gzip, deflate, sdch
Accept-Language:en-US,en;q=0.8
Access-Control-Request-Headers:content-type
Access-Control-Request-Method:POST
Cache-Control:no-cache
Connection:keep-alive
Host:gearman.local.eviry.com
Origin:http://evil.com/
Pragma:no-cache
Referer:http://localhost:3000/gearman-ui/job-queue
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36
X-FirePHP:0.4.4
X-FirePHP-Version:0.4.4
X-Wf-Max-Combined-Size:262144
заголовки Ответные как показано
Allow:POST
Cache-Control:no-cache
Connection:Keep-Alive
Content-Length:4519
Content-Type:text/html; charset=UTF-8
Date:Mon, 15 Feb 2016 08:32:54 GMT
Keep-Alive:timeout=5, max=100
Server:Apache/2.2.24 (Unix) mod_ssl/2.2.24 OpenSSL/1.0.1e-fips
Если кто-нибудь использует POSTMAN, у меня есть следующий код, который работает. Я должен реализовать то же самое, используя угловые (Обратите внимание, что вы не сможете получить доступ к http://gearman.local.eviry.com
)
https://www.getpostman.com/collections/f14ecaf29ffd52a54534
Можете ли вы показать свои заголовки запроса и ответа?(Dev Tools> Network> [select your request]> Headers) – Sasxa
Добавленные заголовки запросов – user3288346
для «HTTP post» смотрите здесь ... http://stackoverflow.com/a/34823818/5043867 и http: // stackoverflow .com/a/34758630/5043867 –