Javascript 在应用程序重新启动(文件API)之前,不会显示对文件的修改
我正在使用PhoneGap和构建一个基本的Ios应用程序来下载和更新XML文件 下载部分是通过Ajax调用完成的,更新是通过FileEntry对象完成的 下面是它的样子:Javascript 在应用程序重新启动(文件API)之前,不会显示对文件的修改,javascript,ajax,cordova,phonegap-plugins,fileapi,Javascript,Ajax,Cordova,Phonegap Plugins,Fileapi,我正在使用PhoneGap和构建一个基本的Ios应用程序来下载和更新XML文件 下载部分是通过Ajax调用完成的,更新是通过FileEntry对象完成的 下面是它的样子: $.ajax({ type: "GET", url: "https://site/folder/GetFluxXmlServlet", dataType: "text", beforeSend: function () { Results
$.ajax({
type: "GET",
url: "https://site/folder/GetFluxXmlServlet",
dataType: "text",
beforeSend: function () {
Results.innerHTML = 'Loading...<br>';
},
success: function (MAJ) {
var content = MAJ;
document.addEventListener("deviceready", checkIfFileExists, false);
function checkIfFileExists() {
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function (fileSystem) {
fileSystem.root.getFile("global.xml", { create: false }, fileExists, fileDoesNotExist);
}, getFSFail);
}
function fileExists(fileEntry) {
fileEntry.createWriter(truncateFile, fileDoesNotExist);
}
function truncateFile(writer) {
writer.onwriteend = function (evt) {
console.log("Writer" + evt.code);
writer.seek(0);
writer.onwriteend = function (evt) {
console.log("Changed" + evt.code);
};
writer.write(content);
};
writer.truncate(0);
}
function fileDoesNotExist() {
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onSuccess, onError);
}
function onSuccess(fileSystem) {
var directoryEntry = fileSystem.root;
directoryEntry.getFile("global.xml", {create: true, exclusive: false}, function (fileEntry) {
fileEntry.createWriter(function (writer) {
writer.write(content);
}, function (e) {
console.log("Error :" + e.code);
});
}, function (e) {
console.log("Error :" + e.code);
});
}
function onError(evt) {
console.log("Error :" + evt.code);
}
}
function getFSFail(evt) {
console.log(evt.target.error.code);
}
},
complete: function () {
Results.innerHTML = 'Success';
window.location.reload(true);
}
})
这会影响新数据的恢复吗,或者有更好的方法更新文件吗?在推断我的研究之后,我发现Ajax请求正在被删除,所以我简单地添加了:
$(document).ready(function() {
$.ajaxSetup({ cache: false });
});
在我的Javascript文件的开头
有关更多信息:
$(document).ready(function() {
$.ajaxSetup({ cache: false });
});