用jQuery读取文件?

时间:2015-05-28 20:49:58

标签: javascript jquery

我想使用jQuery读取文件(服务器端)。我尝试过多个站点提供的代码,但是没有用。

我上次尝试的代码是:

jQuery.get("users/" + get("user") + "/display.txt", function(data) {
    fullName = data;
});

然而,变量'fullName'(先前在代码中声明)出现为'undefined'。我怎样才能让它发挥作用?

编辑:完整代码(不包括CSS)

<!DOCTYPE html>
<html>
    <head>
        <title>Chat</title>
        <script src="jquery-1.11.3.min.js"></script>
        <script type="text/javascript">
            function get(variable) {
                var query = window.location.search.substring(1);
                var vars = query.split("&");
                for (var i=0;i<vars.length;i++) {
                    var pair = vars[i].split("=");
                    if(pair[0] == variable){return pair[1];}
                }
                return(false);
            }
            var fullName;
            var file = "users/" + get("user") + "/display.txt";
            jQuery.get(file, function(data) {
                fullName = data;
            });
        </script
    </head>
    <body bgcolor="#B2C2F0">
        <div class="window">
            <div class="rightCorner">
                <span><script type="text/javascript">document.write(fullName)</script></span>
            </div>
        </div>
    </body>
</html>

2 个答案:

答案 0 :(得分:0)

您无法在该功能中修改fullName var data值并在外面读取。
如果您需要在函数外部使用该信息,则需要导出另一个函数中的data值。

类似的东西:

var fullName = "not-set";
console.log('fullName is:', fullName); // not-set

function set_fullName( data ) {
    fullName = data;
    console.log('fullName is:', fullName); // must be `Levi` now
} 

jQuery.get("users/" + get("user") + "/display.txt", function(data) {
    set_fullName(data);
});

答案 1 :(得分:0)

您可能只是在ajax调用完成之前尝试访问fullname。

试试这个:

var fullName = "";
function getUserName(username){
    jQuery.get("users/" + get("user") + "/display.txt", onGetComplete);
}
function onGetComplete(data){
    fullName = data;
    continueProgram();
}
function continueProgram(){
    console.log(fullName);
}

getUserName();