我想使用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>
答案 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();