我正在使用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);
}
答案 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
) { }
}