Javascript 从ajax读取文本文件并将字符串发送回html文件
我是ajax新手,我有一个带有数字值的文本文件 与ids.txt一样,这里的12345映射值是54321Javascript 从ajax读取文本文件并将字符串发送回html文件,javascript,jquery,html,ajax,Javascript,Jquery,Html,Ajax,我是ajax新手,我有一个带有数字值的文本文件 与ids.txt一样,这里的12345映射值是54321 12345,54321 23456,65432 34567,76543 45678,87654 56789,98765 这是我的Html文件 <html><body> <INPUT TYPE="TEXT" NAME="text" SIZE="25" > <button type="button" onclick="getId()"&
12345,54321
23456,65432
34567,76543
45678,87654
56789,98765
这是我的Html文件
<html><body>
<INPUT TYPE="TEXT" NAME="text" SIZE="25" >
<button type="button" onclick="getId()">Submit</button>
<div id="myDiv"><h2></h2></div>
</body></html>
提交
如果我在上面的文本框中输入值12345,我应该从ids.txt文件中获取其映射值54321,它应该显示在div标记“myDiv”中
有人能帮忙吗?我认为最好的方法是将文件解析到字典(C#)或哈希映射(Java)中,这样第一个数字将是键,第二个数字将是值。您可能应该缓存这个字典,这样就不必为每个ajax调用创建它(因为IO操作非常昂贵!)。在ajax请求中,将数字作为参数传递。在后端,只需使用作为ajax参数接收的键从字典中获取值,并将其发送回客户端(确保执行所需的验证!)。在ajax成功处理程序中,只需使用结果更新div内容我会考虑你用的。使用以下内容将您的
ids.txt
转换为ids.json
:
{
12345:54321
23456:65432
34567:76543
45678:87654
56789:98765
}
然后,您可以使用解析ajax调用的数据,这样您就有了一个对象
jQuery示例使用:
首先,从文件中逐行检索文本,如下所示:
var file = "ids.txt";
function getFile(){
$.get(file,function(txt){
var lines = txt.responseText.split("\n");
// all the text will be stored into the lines as array
// lines[0] will contain 12345,54321
var arr;var indexA;
for (var i = 0, len = lines.length; i < len; i++) {
arr.push(lines[i].split(","))
}
for(var j=0;leng=arr.length;j<length;j+=2){
indexA[arr[j]]=arr[j+1];// index array will store value as key:12345,value=54321
}
});
}
var file=“ids.txt”;
函数getFile(){
$.get(文件、函数(txt){
var lines=txt.responseText.split(“\n”);
//所有文本将作为数组存储到行中
//行[0]将包含1234554321
var-arr;var-indexA;
对于(变量i=0,len=lines.length;i 对于(var j=0;leng=arr.length;j0)您被困在哪里?您能够获取AJAX内容并且无法解析它吗?您被困在获取AJAX内容吗?getId做什么??
var file = "ids.txt";
function getFile(){
$.get(file,function(txt){
var lines = txt.responseText.split("\n");
// all the text will be stored into the lines as array
// lines[0] will contain 12345,54321
var arr;var indexA;
for (var i = 0, len = lines.length; i < len; i++) {
arr.push(lines[i].split(","))
}
for(var j=0;leng=arr.length;j<length;j+=2){
indexA[arr[j]]=arr[j+1];// index array will store value as key:12345,value=54321
}
});
}