什么类型的标题应该用于角度4中的http删除

时间:2018-03-20 05:13:07

标签: angular iis asp.net-web-api

我正在使用angular 4和asp.net web api。在角度项目中,我使用删除方法来调用web api删除方法。当我使用下面的标题时,它在本地正常工作。但在iis托管之后它不起作用。我知道是什么原因。

deleteItem(id) {
//debugger;
let headers = new Headers({    
  'Content-Type': 'application/json',


});
let options = new RequestOptions({ headers: headers });
return this.http
  .delete(this.baseUrl + 
'BureauStateWorkflowSettings/DeleteBureauStateWorkflowSettingsById/'+id,{ 
headers: headers })
  .map((res: Response)=> this.flashMessage.show(res.text(),{ cssClass: 
'alert-success' }))
  .catch(this.handleError);


}

3 个答案:

答案 0 :(得分:0)

您尚未使用RequestOptions

$this->db->select(" i.description, i.condition,c.cat_name as category_name,i.id,(SELECT image FROM bc_item_image WHERE item_id = i.id LIMIT 1) as item_image");
$this->db->from('bc_item as i');
$this->db->join('bc_category as c', 'i.cat_id = c.id');
      $this->db->where('i.status', 1);
      $this->db->where('i.is_bartered', 0);
      $this->db->where('i.user_id','!=', $user_id);
      $this->db->where('i.is_cancel', 0);
      $this->db->where("FIND_IN_SET('".$subcat_id."','i.interested_cat')");
      $query = $this->db->get();

答案 1 :(得分:0)

您可以在删除请求

上创建格式低于格式的标题

const headers = new Headers({                               'Content-Type':'application / x-www-form-urlencoded',                            });

并使用您的网址发送。

答案 2 :(得分:0)

  

当我使用下面的标题时,它在本地正常工作。但是   在iis托管后它无法正常工作

看起来您对远程服务器使用相同的baseUrl。根据应用程序的运行位置更改baseUrl

constants.ts:

import { environment } from './../environments/environment';

export const API_URL = new InjectionToken<string>('app.api-url');

export function API_URL_FACTORY() {
    if (environment.type === 'dev') {
        return 'http://8.8.8.8';
    } else {
        // debug...
        return 'http://localhost:60968';
    }
}

并注册AppModule提供商:

@NgModule({
    declarations: [
       ...
    ],
    imports: [
        ...
    ],
    entryComponents: [
    ],
    providers: [        
        <FactoryProvider>{
            provide: API_URL,
            useFactory: API_URL_FACTORY
        },
...

你可以在服务/组件的构造函数中注入它:

@Injectable()
export class SomeService {

  constructor(
    @Inject(API_URL) private readonly apiUrl,
    private http: HttpClient
  ) { }

}