无法调用webmethod来保存handsonTable
本文关键字:保存 handsonTable webmethod 调用 | 更新日期: 2023-09-27 18:19:35
我想将可手动保存的数据保存到json文件中,我有一个javas script方法来从可手动保存中获取所有数据作为
$('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 "";
}
我需要传递的数据:??。。。请帮忙。
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',
必须在方法之前写入
[WebMethod]
并将方法的参数从列表更改为字符串
然后您可以将其拆分为