为了账号安全,请及时绑定邮箱和手机立即绑定

如何将 Ajax 调用参数绑定到我的控制器模型参数

如何将 Ajax 调用参数绑定到我的控制器模型参数

C#
三国纷争 2022-08-20 16:05:38
我不知道我在这里错过了什么。我正在尝试填充Jquery对象并将该对象发送到具有模型作为参数并使其正确绑定的控制器。我知道Ajax调用有效,因为我在控制器中遇到了断点。这是我的Jquery,用于创建我将通过ajax发送的对象    var testObj = {};    testObj.empNum = '1234';这是我的Ajax Call:var url = BASE_URL + "Assessment/testing";$.post({    url: url,    data: {          test: testObj          },    success: function (data) {               console.log(data)           },    dataType: 'JSON'});这是我的模型:public class test{    public string empNum { get; set; }}和我的控制器:[HttpPost]public JsonResult testing(test t){    return Json(t, JsonRequestBehavior.AllowGet);}我期望控制器中的 t 包含 empNum = 1234 的测试模型,但它一直显示为 null。
查看完整描述

2 回答

?
千巷猫影

TA贡献1829条经验 获得超7个赞

尝试使用它将 js 对象转换为 c# 模型


$.post({

url: url,

contentType: "application/json; charset=utf-8",

data: JSON.stringify(testObj),

或对于多个参数:


$.post({

url: url,

contentType: "application/json; charset=utf-8",

data: JSON.stringify( {test: testObj} ),


查看完整回答
反对 回复 2022-08-20
?
牧羊人nacy

TA贡献1862条经验 获得超7个赞

很抱歉浪费大家的时间,但问题是:

控制器中的此行的参数为 t:

public JsonResult testing(test t)

在我的Ajax调用中,参数名称必须与控制器上的参数名称匹配。所以在这种情况下;测试应更改为 t 以匹配控制器

       data: {
          test: testObj
          },


查看完整回答
反对 回复 2022-08-20
  • 2 回答
  • 0 关注
  • 131 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号