gpt4 book ai didi

asp.net-core-mvc - 数据未根据 abp.ajax 请求发送到服务器

转载 作者:行者123 更新时间:2023-12-05 01:40:07 25 4
gpt4 key购买 nike

我正在使用 ASP.NET 样板模板。我在让服务器接收我从 abp.ajax post 请求(代码如下所示)发送的数据时遇到问题。

控制台正在记录正确的数据(如屏幕截图 1 所示),但服务器未返回正确的数据。当我调试时,id 1000 的数据在服务器上显示为 0,即使控制台记录 1000 并且这是发送的对象。

截图一:

Screenshot 1 - Showing console log

截图2: enter image description here

Jquery:

$(document).on('click', '.default-customer-selection', function (e) {
e.preventDefault();

var info = {
toCustomerId: 1000 //Just trying to keep this simple for now
};

console.log(info);

abp.ajax({
url: abp.appPath + 'Portal/Catalog/SwitchCustomer',
data: JSON.stringify(info),
success: function (data) {
console.log('Data Returned: ' + data.personId);
}
});
});

Switch 客户的模型/DTO 输入:

using System;
using System.Collections.Generic;
using System.Text;

namespace MySolution.Catalog.Dtos
{
public class SwitchCustomerInput
{
public long ToCustomerId { get; set; }
}
}

我的 Controller 函数:

public class CatalogController : MySolutionControllerBase
{
[HttpPost]
public JsonResult SwitchCustomer(SwitchCustomerInput input)
{
return Json(new { PersonId = input.ToCustomerId });
}
}

我正在按照我在项目中看到的指南和其他预构建示例进行操作,这些示例已经在解决方案中正常运行:https://aspnetboilerplate.com/Pages/Documents/v1.5.2/Javascript-API/AJAX

我错过了一步吗?非常感谢任何帮助!

最佳答案

abp.ajax 将选项作为对象获取。您可以传递在 jQuery 的 $.ajax 方法中有效的任何参数。这里有一些默认值:数据类型是'json',类型是'POST',contentType是'application/json'(因此,在发送到服务器之前调用 JSON.stringify 将 javascript 对象转换为 JSON 字符串)。

您需要将 [FromBody] 属性添加到操作的参数中,如下所示:

[HttpPost]
public JsonResult SwitchCustomer([FromBody]SwitchCustomerInput input)
{
return Json(new { PersonId = input.ToCustomerId });
}

关于asp.net-core-mvc - 数据未根据 abp.ajax 请求发送到服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57061540/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com