我想将handontable数据保存到json文件中,我有一个javas cript方法来从handontable获取所有数据
$('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(列表数据)。
public string getData(List<String> data)
{
return "";
}
我需要传递的数据:?? ...请帮助。
答案 0 :(得分:0)
data: { 'data': str },
dataType: 'json',
contentType: 'application/json',
使用contentType
设置,您告诉服务器您正在发送JSON数据,但事实并非如此。 { 'data': str }
不是JSON字符串;它是一个标准的Javascript对象文字。您正在调用用于创建HTTP请求的默认jQuery行为。这意味着您正在发送常规HTTP请求,例如:
?data=thedata
要发送实际的JSON数据,您需要致电JSON.stringify
:
data: JSON.stringify({ 'data': str }),
dataType: 'json',
contentType: 'application/json',
答案 1 :(得分:0)
你必须在methode之前写一下
[WebMethod]
并将方法的参数从List更改为字符串
然后你可以分开它