ajax用post传输数据,通过POST(ajax)发送JSON数据并从Controller(MVC)接收json响应...

本文档描述了在JavaScript中通过Ajax POST方法发送JSON数据到MVC Controller时遇到的问题。作者在尝试将表单数据转化为JSON并发送到`Add`动作,但Controller的`sendInfo`参数接收为null。问题可能在于数据序列化或模型绑定。解决方案可能涉及调整Ajax请求的`data`字段或控制器的模型定义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通过POST(ajax)发送JSON数据并从Controller(MVC)接收json响应

我在javascript中创建了一个函数:function addNewManufacturer() {

var name = $("#id-manuf-name").val();

var address = $("#id-manuf-address").val();

var phone = $("#id-manuf-phone").val();

var sendInfo = {

Name: name,

Address: address,

Phone: phone       };

$.ajax({

type: "POST",

url: "/Home/Add",

dataType: "json",

success: function (msg) {

if (msg) {

alert("Somebody" + name + " was added in list !");

location.reload(true);

} else {

alert("Cannot add to list !");

}

},

data: sendInfo       });}

我调用了jquery.json-2.3.min.js脚本文件,并将其用于toJSON(array)方法。

在控制器中,我有这个Add动作[HttpPost]public ActionResult Add(PersonSheets sendInfo) {

bool success = _addSomethingInList.AddNewSomething( sendInfo );

return this.Json( new {

msg = success    });}

但是sendInfo当方法参数变为null时。

该模型:public struct PersonSheets{

public int Id;

public string Name;

public string Address;

public string Phone;}public class PersonModel{

private List _list;

public PersonModel() {

_list= GetFakeData();

}

public bool AddNewSomething(PersonSheets info) {

if ( (info as object) == null ) {

throw new ArgumentException( "Person list cannot be empty", "info" );

}

PersonSheets item= new PersonSheets();

item.Id = GetMaximumIdValueFromList( _list) + 1;

item.Name = info.Name;

item.Address = info.Address;

item.Phone = info.Phone;

_list.Add(item);

return true;

}}

当用POST发送数据时,我怎么能用action方法呢?

我不知道怎么用。此外,可以通过JSON发回响应(到ajax)?

谢谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值