jQuery在JavaScript中读取文件内容到变量

时间:2017-05-30 23:31:44

标签: javascript jquery scope xmlhttprequest

我为我的特殊困境寻找答案,我认为它必须与我自己的误解(我是JS的新手)有关。我知道类似的主题,但没有完全解决我想要确定的内容 - 如果我错过了之前发布的内容,请原谅我。

我已经将我正在尝试做的事情归结为以下JavaScript,它利用jQuery来获取将文件内容读取到变量(我试图避免所有涉及使用XMLHttpRequest()的hullabaloo只是为了读取文件服务器端):

double total = 0;
JArray jsonarray = null;   
JObject  jsonobject = null;
List<ClientAccount> list = null;

try
{
    list = ClientBussinesLayer.getListClientCash(id);

    for(ClientAccount item in list)
    {
        total += item.debtJanuary + item.debtFebruary + item.debtMarch;
    }

    jsonobject = new JObject();
    jsonobject.Add("totalDebt", total);
    jsonobject.Add("statusList", "success");


    jsonarray = JArray.FromObject(list); 
    jsonarray.Add(jsonObject); 

}catch(Exception ex)
{
    error
}

return  JsonConvert.SerializeObject(jsonarray);


fnSuccessList: function (data) {

    var strHtml = '';
    var list = jQuery.parseJSON(data);  //also i tried with data.d but dont work

    $.each(list, function (index, item) {
        strHtml += '<tr>';
        strHtml += '  <td>' + item.debtJanuary + '</td>';
        strHtml += '  <td>' + item.debtFebruary + '</td>';
        strHtml += '  <td>' + item.debtMarch + '</td>';
        strHtml += '</tr>'
    });


    $("#table").append(strHtml);
}

如果最好在纯JS中使用XMLHttpRequest而不是那么好,但我只想知道如何能够在检索函数之外生成值 - 例如,与其他函数一起使用。

关于我缺少的任何想法?

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:-1)

$ .get()函数异步工作,因此fileContent不包含响应。

{{1}}

查看documentation

答案 1 :(得分:-2)

此代码应该适合您。

&#13;
&#13;
var refFile = "./myfile"; // path to my txt file
function readBody(xhr) {
    var data;
    if (!xhr.responseType || xhr.responseType === "text") {
        data = xhr.responseText;
    } else if (xhr.responseType === "document") {
        data = xhr.responseXML;
    } else {
        data = xhr.response;
    }
    return data;
}

var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
    if (xhr.readyState == 4) {
        console.log(readBody(xhr));
    }
}
xhr.open('GET', refFile, true);
xhr.send(null);
&#13;
&#13;
&#13;