我向角度2中的Rest API發出PUT請求,但它不起作用。當我用POST發出相同的請求時,它工作正常。發佈請求有效,但Put請求沒有發送角度2
這是我的看法:
save(){
this.params['user_id']=this.user_id;
this.params['video_id']=this.video_id;
this._dashboardService.update('uservalues',this.params)
.subscribe(x=> {
console.log('test');
});
}
我的觀點叫我的服務:
update(data ,param?) {
let authToken = localStorage.getItem('auth_token');
var myObject = Object.assign({'auth_token':authToken}, param);
let params={};
for (var name in myObject) {
params[name]=myObject[name];
}
let body=JSON.stringify(params);
let headers = new Headers({ 'Content-Type': 'application/json' });
return this._http
.put(this._url+'test', body, headers)
.map(res=> res.json());
}
我的控制檯:
OPTIONS http://host.com/dev/api/test 406 (Not Acceptable)
XMLHttpRequest cannot load http://host.com/dev/api/test. Response for preflight
has invalid HTTP status code 406
我的頭(API):
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: GET, POST, PUT");
header("Access-Control-Allow-Credentials: true");
header("Access-Control-Request-Headers: Accept, Authorization");
header("Access-Control-Expose-Headers: Authorization");
header("Access-Control-Allow-Headers:X-Requested-With, Accept, Authorization");
當我評論這個代碼在我的API我PUT請求工作
private function set_headers(){
// header("HTTP/1.1 ".$this->_code." ".$this->get_status_message());
header("Content-Type:".$this->_content_type);
}
任何想法?作爲mentioed在API幫助像 「 http://host.com/dev/api/test」 + ID(記錄的記錄ID)記錄的
使用記錄的id,如「http: //preprod.pro:8888/clients/loomup/dev/api/test"+id(記錄的記錄ID)在API幫助中已列出PUT api/test/{id} – rashfmnb
Rashfmnb,感謝您的幫助。但是,您可以刪除真實的網址並寫入,例如http://host.com/dev/api/test? TY。 – Xenofexs