Angular httpClient - POST 成功,没有发送参数

阿佩克沙

我正在尝试在我的 Ionic4 应用程序中做一些非常基本的事情 - 将数据发布到 Asp.Net Web API 2 界面。请求成功,但是服务器上没有收到数据。

import { HttpClient } from '@angular/common/http';

someAction(assetId: number) {
let asset = new FormData();
asset.append("assetId", assetId.toString());
asset.append("UserId", "1");

return this.httpClient.post(this.url + "SomeAction", asset, { headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' } }).toPromise();
    }

在服务器上(C#):

[HttpPost]
[Route("Service/SomeAction")]
public HttpResponseMessage SomeAction(AccessData asset)
{
  return new HttpResponseMessage(_service.LogAsset(asset));
}

asset服务器上的对象实例化,但不包含客户端发送的值。

此外,删除/更改发送的标头会导致请求完全失败。

编辑:删除标题会导致错误 404,并且在控制台中也有这个:

从源“ http://localhost访问“ http://server ”的XMLHttpRequest已被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:它没有 HTTP ok 状态。

将标头更改为“multipart/form-data”会导致错误 415 - 不支持的媒体类型

编辑 #2:这适用于 Postman 和 HTTPBot (iPhone),但不适用于我的 Ionic 应用程序

阿佩克沙

更新:我最终通过启用 CORS 解决了这个问题。我已经启用了 CORSweb.config并期望它就足够了,但事实证明我实际上需要安装Microsoft.AspNet.WebApi.Cors包并将[EnableCors]属性添加到我的 post 方法中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在带有post参数的Android中使用HttpClient和HttpPost

Angular 4 HttpClient查询参数

C#:具有POST参数的HttpClient

Angular 5 HttpClient:将POST参数作为URL编码的字符串发送

Angular HttpClient不发送POST,它发送OPTIONS

带有凭证的Angular 6 httpClient Post

Angular中的HttpClient.post()和新的HttpRequest('POST')有什么区别?

使用Angular中的httpclient.post发送和接收不同的类型

Angular HTTPClient POST主体未发送

来自HttpClient POST请求的Angular 6 HTML响应

虽然Postman成功,但Angular6 HttpClient Post方法不起作用?

Angular HttpClient发布无法发送简单的字符串参数

Angular HttpClient在POST中使用URL参数

angular-node.js,HttpClient放置连接成功,但是没有成功

Angular HttpClient:Post方法未正确设置参数

带有Json正文的HttpClient Post请求

使用Angular的HttpClient时,如何向后端发送带有URI中矩阵参数的请求?

Angular HttpClient不发送域cookie

Angular-将错误类型定义为HttpClient.post()

Angular HttpClient:如果get()失败,则执行post()

httpClient没有发送数据?

PHP curl没有发送post参数

Angular 5 Service httpClient Post - 标题未定义

如何通过 Angular 的 HttpClient 发送 POST 请求?

Angular HttpClient 帖子不发送

为什么这个 Angular HttpClient Post 没有同步?

HttpClient Post请求不在C#中发送post参数

Angular 12 HttpClient POST 到字符串无法编译

带有 HttpParams 的 HttpClient POST