数据未从$ .ajax()传输到服务器端

时间:2011-02-23 07:20:11

标签: jquery

您好我想点击一个按钮将一些字符串发布到服务器端 并有如下代码

 $('#sendData').click(function () {
                  $.ajax({
                        url: '/home/SendData',
                        type: 'POST',
                        dataType: 'string',
                        data: JSON.stringify(somedata),
                        contentType: 'text/plain; charset=utf-8'                        
                    });
            });

在Controller中我有方法

[AcceptVerbs(HttpVerbs.Post)]
        public string SendData(string emaildat)
        {
              string data=emaildat;
        }

但是emaildat将变为空(数据不会出现)。

这是ajax方法是否正确。请帮帮我

2 个答案:

答案 0 :(得分:1)

嗯,data的{​​{1}}属性需要带有键值对的对象映射或字符串(必须是查询字符串)。

所以你不能只在那里输入一个JSONized字符串。这样做:

.ajax()

然后访问data: { mydata: JSON.stringify(somedata) }, 服务器端(不要忘记在那里解析它)。

答案 1 :(得分:0)

您可以尝试序列化您的表单,而不是将其作为JSON发送。

data: $("#formid").serialize()