Javascript 从ajax读取文本文件并将字符串发送回html文件

Javascript 从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()"&

我是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()">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
    }

    }); 
}