Javascript 是否有可能节省&;从本地存储在PC上的xml文件检索HTML表单中填写的数据?
我最近制作了一个HTML表单来填写一些服务报告&现在希望在PC机上保存和检索它们(最好是xml格式)(不在服务器上) 我也在w3scools/页面上查看了它,但仍然无法获得所需的解决方案Javascript 是否有可能节省&;从本地存储在PC上的xml文件检索HTML表单中填写的数据?,javascript,html,xml,local-storage,Javascript,Html,Xml,Local Storage,我最近制作了一个HTML表单来填写一些服务报告&现在希望在PC机上保存和检索它们(最好是xml格式)(不在服务器上) 我也在w3scools/页面上查看了它,但仍然无法获得所需的解决方案 您能告诉我可能的方法吗。如果我理解您的意思,您想将数据存储在用户的计算机上,对吗? 然后最好创建一个XML文件并强制下载到用户的计算机上 (我使用jQuery是因为它最快) 步骤1:发出ajax请求 function downloadFormData(form){ var formDat
您能告诉我可能的方法吗。如果我理解您的意思,您想将数据存储在用户的计算机上,对吗? 然后最好创建一个XML文件并强制下载到用户的计算机上 (我使用jQuery是因为它最快) 步骤1:发出ajax请求
function downloadFormData(form){
var formData= $(form).serialize(); //form is an DOM element - the form you want to retrieve data from
$.ajax({
url:"save.php",
data: formData,
success: function (file) {
window.location.href = "download.php?path="+ file
}
});
}
2) 创建一个php文件,将其命名为save.php,根目录中包含以下内容:
<?php
$xml_string = "<?xml version etc.?><data>";
foreach($_POST as $key=>$value)
$xml_string.='<'.$key.'>'.$value.'</'.$key.'>';
$xml_string.='</data>
$file = 'formData.xml';
// save to file
file_put_contents('./'.$file, $xml_string);
// return the filename
echo $file; exit;
$value)
$xml_string.='.$value';
$xml_字符串。='
$file='formData.xml';
//保存到文件
文件内容('./'.$file,$xml\u字符串);
//返回文件名
echo$文件;出口
5) 创建一个php文件,将其命名为download.php,根目录中包含以下内容
<?php
$file = 'formData.xml'
// $file = trim($_GET['path']); if you use download.php for anything else
// force user to download the file
if (file_exists($file)) {
header('Content-Description: File Transfer');
header('Content-Type: application/xml');
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
unlink($file);
exit;
}
else {
echo "$file not found";
}
”;
$(表单).find(“:input”).each(函数(){
xmlstring+=“”+此.value+“”;
}
xmlstring+=“”;
open('data:Application/octet流,'+encodeURIComponent(xmlstring));
});
a、 单击();
}
如果我理解您的意思,您希望将数据存储在用户的计算机上,对吗?
然后最好创建一个XML文件并强制下载到用户的计算机上
(我使用jQuery是因为它最快)
步骤1:发出ajax请求
function downloadFormData(form){
var formData= $(form).serialize(); //form is an DOM element - the form you want to retrieve data from
$.ajax({
url:"save.php",
data: formData,
success: function (file) {
window.location.href = "download.php?path="+ file
}
});
}
2) 创建一个php文件,将其命名为save.php,根目录中包含以下内容:
<?php
$xml_string = "<?xml version etc.?><data>";
foreach($_POST as $key=>$value)
$xml_string.='<'.$key.'>'.$value.'</'.$key.'>';
$xml_string.='</data>
$file = 'formData.xml';
// save to file
file_put_contents('./'.$file, $xml_string);
// return the filename
echo $file; exit;
$value)
$xml_string.='.$value';
$xml_字符串。='
$file='formData.xml';
//保存到文件
文件内容('./'.$file,$xml\u字符串);
//返回文件名
echo$文件;出口
5) 创建一个php文件,将其命名为download.php,根目录中包含以下内容
<?php
$file = 'formData.xml'
// $file = trim($_GET['path']); if you use download.php for anything else
// force user to download the file
if (file_exists($file)) {
header('Content-Description: File Transfer');
header('Content-Type: application/xml');
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
unlink($file);
exit;
}
else {
echo "$file not found";
}
”;
$(表单).find(“:input”).each(函数(){
xmlstring+=“”+此.value+“”;
}
xmlstring+=“”;
open('data:Application/octet流,'+encodeURIComponent(xmlstring));
});
a、 单击();
}
您可以检查此应用程序()背后的Javascript,如以下页面所示:
此代码显示(1)编辑器区域中的数据不断保存到本地存储,(2)制作伪HTML/XML文件并下载到磁盘(保存到…磁盘)的选项,(3)制作相同的包并保存到web存储的选项(New Nimble,Save Nimble)。我不打算通读所有的代码,下面最相关的代码是将存储在变量“archive”中的包本地保存到磁盘:
}
查看此处的所有代码(其中包含的代码远不止保存/加载,但它就在这里):您可以检查此应用程序背后的Javascript(),如以下页面所示: 此代码显示(1)编辑器区域中的数据不断保存到本地存储,(2)制作伪HTML/XML文件并下载到磁盘(保存到…磁盘)的选项,(3)制作相同的包并保存到web存储的选项(New Nimble,Save Nimble)。我不打算通读所有的代码,下面最相关的代码是将存储在变量“archive”中的包本地保存到磁盘: }
查看这里的所有代码(其中包含的不仅仅是保存/加载,但它在这里):您将问题标记为本地存储,您可以使用它吗?我们谈论的是无需人工交互的自动化过程,还是用户可以上载此文件?使用javascript从html表单创建xml。将内容保存到,使用api和@Wisdmlab将其发送给用户有许多(特定于供应商的)本地存储数据库,用户可以使用这些数据库,而不仅仅是cookies。如果您希望本地应用程序(即,根本不在服务器上托管)使用这些数据库,您可以尝试访问浏览器的扩展api(插件使用的api)哪些用户可以访问用户计算机上的文件。您将问题标记为本地存储,您可以使用它吗?我们谈论的是没有人工交互的自动化过程,还是用户可以上载此文件?使用javascript从html表单创建xml。将内容保存到,使用api和@Wisdmlab将其发送给用户有许多(特定于供应商的)本地存储数据库,用户可以使用这些数据库,而不仅仅是cookies。如果您希望本地应用程序(即,根本不在服务器上托管)使用这些数据库,您可以尝试访问浏览器的扩展api(插件使用的api)谁可以访问用户机器上的文件。你好,卢卡,非常感谢你的帮助,但是,在这里,我想避免使用php或其他任何方式(因为我是web开发领域的新手),可以使用html和javascript吗?一切都可以,只需复制我的代码,它已经准备好,并且尽可能简单,不要重复,我不完全理解。你好,卢卡,非常感谢你的帮助,但是,在这里我想避免使用php或其他任何方式(因为我是web开发领域的新手)可以使用html和javascript吗?一切都好,只需复制我的代码,一切就绪,尽可能简单,不要担心,我不完全理解。