我使用jquery提供的.ajax方法在变量中有一些json数据。在处理过程中,我正在修改它的某些部分。现在我希望将其保存回来,以便刷新将加载更改的值。我使用带有'post'的.ajax()作为类型:
$.ajax({
type: 'POST',
url: "Scripts/"+fileName,
async: false,
data: JSON.stringify(myData),
dataType: "json",
success: function(data) {
alert('hi...');
},
error: function () {
alert('error...');
}});
我的json数据有数组等:
{"workbook":{"excelname":"D:\/JavaProject\/SpreadsheetScanningFromRepository\/testing\/Test Data - Relationship\/multilevelLabels.xls","sheet":{"name":"Sheet1","structures":{"structure":{"StructureComment":null,"orientation":"Labels are in Rows","CompleteData":[{"label":"Company name","data":[["Bathni",{"datatype":"String Data"}],["Bathni",{"datatype":"String Data"}],["Bathni",{"datatype":"String Data"}],["Bathni",{"datatype":"String Data"}],["BBM",{"datatype":"String Data"}],["BBM",{"datatype":"String Data"}],["BBM",{"datatype":"String Data"}],["Finsys",{"datatype":"String Data"}],["Finsys",{"datatype":"String Data"}],["Avaya",{"datatype":"String Data"}]]}...
上面显示的调用返回成功并打印hi但文件中没有更改!! async是false所以它应该立即进行更改。给出的URL与我用来从本地文件系统读取json数据的URL相同,因此不应该有任何问题。
请给我任何有关这项工作的提示/建议!
答案 0 :(得分:1)
这取决于您要存储数据的位置。处理它有两种方法
客户端存储:HTML5中引入了所有最新版本的modren浏览器。你所要做的就是 -
保存在localstorage中 - 假设声明var bar = 'abc'
。 localstorage.setItem('foo', bar);
其中 foo 充当键,而bar充当其值。
从LocalStorage加载 - var value = localstorage.getItem('foo');
这会将'abc'指定给值。
如果您使用的是谷歌浏览器,那么您可以在开发人员工具中查看本地存储 - >资源 - >本地存储
答案 1 :(得分:0)
编辑:对于本地磁盘。如果没有文件系统层(例如本地apache webserver或本地系统上的其他协议),则无法通过浏览器完成此操作。
要更改服务器上的文件,您发布的数据应由负责服务器上文件操作的服务器端脚本处理。只是将数据发布到文件只会返回您的文件,因为它中没有任何内容处理发布的值。
您应该将数据传递给帖子处理程序,而不是要修改的文件。
此帖子处理程序应该执行以下操作:
您可以使用各种语言,例如:PHP,Ruby或Perl