0

我想将handsontable数据保存到json文件中,我有一个javas cript方法来从handsontable中获取所有数据

 $('button[name=save]').click(function () {
            var str = handsontable.getData();
            var value = JSON.stringify(str);
            $.ajax({
                url: "WebService.asmx/getData",
                data: { 'data': value }, 
                dataType: 'json',
                contentType: 'application/json',
                type: 'POST',
                success: function (res) {
                    if (res.result == 'ok') {
                        alert('Data saved');
                    }
                    else {
                        alert('Save error');
                    }
                },
                error: function (xhr, err) {
                    alert("readyState: " + xhr.readyState + "\nstatus: " + xhr.status);

                }
            });
        });

但我无法调用 WebService.asmx/getData(List data) 。

 public string getData(List<String> data)
{
    return "";
}

我需要传递什么数据:??...请帮忙。

4

2 回答 2

0

你必须在方法之前写

[WebMethod]

并将方法的参数从列表更改为字符串

然后你可以拆分它

于 2013-06-23T09:46:25.953 回答
0
            data: { 'data': str  }, 
            dataType: 'json',
            contentType: 'application/json',

使用该contentType设置,您告诉服务器您正在发送 JSON 数据,但实际上并非如此。{ 'data': str }不是 JSON 字符串;它是一个标准的 Javascript 对象文字。您正在调用默认的 jQuery 行为来创建 HTTP 请求。这意味着您正在发送一个常规的 HTTP 请求,例如:

?data=thedata

要发送实际的 JSON 数据,您需要调用JSON.stringify

            data: JSON.stringify({ 'data': str  }), 
            dataType: 'json',
            contentType: 'application/json',
于 2013-06-22T19:50:34.213 回答