Jquery 将JSON保存到本地磁盘
我使用jquery提供的.ajax方法在变量中包含一些json数据。在处理过程中,我修改了它的某些部分。现在我希望将其保存回去,以便刷新将加载更改的值。我使用带有“post”的.ajax()作为类型:Jquery 将JSON保存到本地磁盘,jquery,json,Jquery,Json,我使用jquery提供的.ajax方法在变量中包含一些json数据。在处理过程中,我修改了它的某些部分。现在我希望将其保存回去,以便刷新将加载更改的值。我使用带有“post”的.ajax()作为类型: $.ajax({ type: 'POST', url: "Scripts/"+fileName, async: false, data: JSON.stringify(myData), dataType: "json", success: function(data) { alert('hi...
$.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相同,因此不会出现任何问题
请给我做这项工作的任何提示/建议 编辑:对于本地磁盘。如果没有文件系统层(例如本地ApacheWebServer或本地系统上的其他协议),则无法从浏览器执行此操作 要更改服务器上的文件,您发布的数据应该由负责服务器上文件操作的服务器端脚本处理。仅仅将数据发布到文件只会返回您的文件,因为其中没有任何内容可以处理发布的值 您应该将数据传递给post处理程序,而不是要修改的文件 此post处理程序应执行以下操作:
- 接受发布的数据(大多数情况下自动)
- 打开文件进行写入
- 将发布的数据写入文件(json编码格式)
- 关闭文件
- 打印修改文件的内容
为此,您可以使用各种语言,如:PHP、Ruby或Perl。这取决于您要将数据存储在何处。有两种方法可以解决这个问题
var bar='abc'
<代码>localstorage.setItem('foo',bar)代码>其中foo作为键,bar作为其值的一个变量
要从LocalStorage加载-var value=LocalStorage.getItem('foo')代码>这将为值分配“abc”
如果您正在使用Google Chrome,那么您可以在开发者工具->资源->本地存储中查看本地存储您想将其保存在服务器上还是客户端?我想将其写入本地文件系统ie客户端如果我说我的数据是json格式的,那么实际上不需要任何其他处理将数据发送到客户端文件,即使它是本地的,也不会使文件被发送的数据覆盖。浏览器不是这样工作的。如果您不使用服务器,只是在浏览器中打开本地文件,这意味着没有足够的环境来更改文件。您需要一个层来处理文件系统操作。简单的浏览器无法做到这一点。