jquery将字符串转换为json以发送到我的webservice?

时间:2009-06-01 19:19:47

标签: asp.net jquery ajax json

试图找出如何转换如何将我在JavaScript(字符串)中的5个变量转换为JSON以便发送到我的ajax函数

这是我的ajax函数,sill相对较新,但我相信这应该有用..但我需要将所有字符串转换为JSON - 不是吗?

我相信有没有json发送数据的替代方法,但这是推荐的方式不是吗?

                $.ajax({
                type: "POST",
                url: "MyService.aspx/SendEmail",
                data: "{}",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function(msg) {
                    alert(msg.d);
                },
                error: function() {
                    alert('error');
                }

            });

我相信在服务端我需要提取JSON - 我正在使用asp.net

有什么想法吗?

2 个答案:

答案 0 :(得分:4)

您无需转换为json即可传递数据。只需指定您需要传递的数据:

$.ajax({
       url: "myUrl",
        data: {
            var1: "some data or var",
            dataItem2: false // or a variable
        },

        success: function(msg) {
            alert(msg.d);
        },
        error: function() {
            alert('error');
        }
    });

数据将作为请求参数提供,如此(在Asp.Net中):

Request.Params["var1"]

现在如果你真的需要在服务器上接收json,那就是另一个问题。如果这是一项要求,我将有兴趣了解你。

答案 1 :(得分:1)

我建议你在项目JSON2.js中包含你可以在link找到的项目,并使用JSON.stringify()函数:

...
data: JSON.stringify({ yourVar: "value", var2: "value2" }),
...

如果您的Web服务返回json数据,您可以使用库解析结果:

success: function(json) { json = JSON.parse(json);
                          var o = json.d;
                          ... 
}

它可以向您保证您的输入数据将从每个非法角色中消毒。