我正在尝试使用外部脚本文件中的$ .get()函数从我的服务器上的文本文件加载数据.我的代码如下:
/*
* Load sample date
*/
var stringData;
$.get("http://localhost/webpath/graphing/sample_data.txt", function(data){
stringData = data;
//alert("Data Loaded: " + stringData);
});
//Split values of string data
var stringArray = stringData.split(",");
alert("Data Loaded: " + stringData);
Run Code Online (Sandbox Code Playgroud)
当我在$ .get()函数内部时,我可以看到stringData var得到了很好的人选,并且对alert的调用确认它包含来自示例文本文件的数据.但是,当我离开$ .get()函数时,stringData var不再显示.我不太了解该函数如何工作以了解它为什么没有像我预期的那样做.我想要它做的就是将文本数据加载到变量中,以便我可以使用它.任何帮助表示赞赏.
Pra*_*obo 16
get是异步的意思是它调用服务器并继续执行其余的代码.这就是你有回调方法的原因.无论你打算如何处理返回数据,都要在回调方法(你已经发出警报)中进行.
get,post都是异步的.您可以使用进行同步呼叫
$.ajaxSetup({ async: false });在代码中的任何位置使用.这会影响代码中的所有ajax调用,所以要小心.
$.ajax与async: false例如如下所示.
请查看上面提到的代码和API文档链接以解决您的问题.
/*
* Load sample date
*/
var stringData = $.ajax({
url: "http://localhost/webpath/graphing/sample_data.txt",
async: false
}).responseText;
//Split values of string data
var stringArray = stringData.split(",");
alert("Data Loaded: " + stringData);
Run Code Online (Sandbox Code Playgroud)
$ .get函数是异步的.您需要对回调函数中返回的数据执行任何操作.您可以将该函数移动到不内联以清理代码.
function parseData(data){
//do something with the data
alert("data is: " + data);
}
$.get("http://localhost/webpath/graphing/sample_data.txt",parseData);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19686 次 |
| 最近记录: |