Ajax Firefox中的ASP.NET核心API POST参数始终为空

Ajax Firefox中的ASP.NET核心API POST参数始终为空,ajax,.net-core,angular2-services,Ajax,.net Core,Angular2 Services,在我的Angular2应用程序中,我正在提交一个表单,并通过postapi将数据发送到dotnet核心后端。我已经创建了一个新表单,它可以与chrome一起正常工作,但是在firefox上,我在PostAPI参数中接收到空值 我被困在搜索什么和如何搜索??我已经检查了所有可能的问题,但没有发现任何问题,因为应用程序在chrome上运行良好,所有数据都是最新的和正确的,但是一个表单在firefox上无法运行 有人能帮我做什么吗?因为我完全被卡住了 不知道该怎么办 我的端点是 [HttpPost]

在我的
Angular2应用程序中
,我正在提交一个表单,并通过
postapi将数据发送到dotnet核心后端
。我已经创建了一个新表单,它可以与chrome一起正常工作,但是在firefox上,我在PostAPI参数中接收到空值

我被困在搜索什么和如何搜索??我已经检查了所有可能的问题,但没有发现任何问题,因为应用程序在chrome上运行良好,所有数据都是最新的和正确的,但是一个表单在firefox上无法运行

有人能帮我做什么吗?因为我完全被卡住了 不知道该怎么办

我的端点是

[HttpPost]
[Route("api/Intimation/SaveIntimation")]
public async Task<ActionResult> SaveIntimation([FromBody] ViewModelCreateIntimation objCreateIntimation)
{
    if (objCreateIntimation == null || objCreateIntimation.objIntimation == null)
            {

                return Ok("null received");
            }
           // remaining code
}
从服务发送的数据(我可以检查数据的最后一个位置)


问题似乎是因为控制器中的参数名称与请求中传递的参数名称不同

在您的控制器中,框架试图绑定到的参数称为
objCreateIntimation
,但您的请求表明您正在发送
objinitimation
。由于名称不同,模型绑定器不知道
objinitimation
应该绑定到
objCreateIntimation


给他们两个取一个相同的名字,这样你就可以解决问题了。

我也读过一次同样的问题,花了将近一天的时间才弄清楚背后的原因

一定要检查日期选择器及其值,确保它不为null,并且格式正确。因为firefox在这一点上有点严格,datepicker的一点小小的改变就会使其为空


希望能对您有所帮助。

请发布表单代码和控制器操作。代码太多了,我应该全部发布吗?是的,请发布,否则很难说出发生了什么。另请参见。在两个浏览器中使用开发人员工具。比较他们提出的请求。看看有什么不同。@SergeyKudriavtsev我添加了一些代码。我也尝试更改这些名称。但没有区别。关键是它在这上面工作得很好chrome@NullPointer如果您尝试更改它们,可能是因为本地缓存了名称错误的脚本。刷新浏览器缓存。@NullPointer好的,请确保名称相同,因为这绝对是必需的。在那之后,可能有必要检查每个请求中发送的标题,因为Firefox在许多方面比Chrome严格得多。
saveIntimation(intiModel) {
console.log(intiModel);
return this.httpClient.post<ViewModelResponse>(this.baseUrl + this._SubmitIntimationUrl, JSON.stringify(intiModel), { headers: this.configurations.getHeaderWithAuth() });
  }
this.intimationModel = this.admissionForm.value;
this.adminService.SubmitAdmissionIntimationService(this.createIntimationModel).subscribe(
  (response) => {
    this.responseModel = response;
    // further process
    },

  (error) => {

    this.notification.onClear();
    this.notification.onError(this.errorHandler.handleError(error).error, Constants.MESSAGE_ERROR);
  }
);