我开始使用jQuery和ajax从数据库中获取数据,但是我无法找到如何将$ .get()的结果保存到变量外部回调函数中.
这是我的jquery脚本:
var result="";
$.get("test.php", function(data){ result=data; });
alert(result);
Run Code Online (Sandbox Code Playgroud)
这是test.php脚本:
echo "Hello, World";
Run Code Online (Sandbox Code Playgroud)
每次我运行此脚本时都会发出警告"".
我正在使用JQuery .get方法从网页中检索一些内容(第1页)并在主页面的div中显示它.问题是检索到的内容包含一些javascript调用.正在显示内容,但Javascript方法未执行.所有页面都引用了.js文件,因此主要文件中js的可用性不是问题.
这是主页面中的代码.页面1的URL被赋予.get函数:
$.get(url, function(response) {
var newContent = $(response).find("#right"); //Find the content section of the response
var contentWrapper = $("#wrap"); //Find the content-wrapper where we are supposed to change the content.
var oldContent = contentWrapper.find("#right"); //Find the old content which we should replace.
oldContent.replaceWith(newContent);
});
Run Code Online (Sandbox Code Playgroud)
这是第1页#right(div)中的代码
Some html tags...
<p><script type="text/javascript">abc7();</script></p>
<p><script>s(30)</script></p>
Some html tags...
Run Code Online (Sandbox Code Playgroud)
函数abc7和s在.js(普通javascript文件)中可用,该文件在所有页面的部分中被引用
s(30)应显示大小为30的文本字段.
我试图将csv转换为关联数组,但$ .get函数不会更改外部textData变量
function csvToArray(filename){
var textData;
var headers = new Array(),
dataValues = new Array();
$.get(filename, function(data){
textData = data;
});
var dataArray = textData.split('\n');
headers = dataArray[0].split(',');
for(var i = 1; i<dataArray.length; i++){
var thisLine = dataArray[i].split(','),
tempArray = new Array();
for(var j = 0; j<thisLine.length; j++){
tempArray[headers[j]] = thisLine[j];
}
dataValues.push(tempArray);
}
return dataValues;
}
Run Code Online (Sandbox Code Playgroud)
为什么没有设置textData?