jQuery加载文本文件数据

我正在尝试使用外部脚本文件中的$ .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); 

当我在$ .get()函数内部时,我可以看到stringData var得到了很好的人选,并且对alert的调用确认它包含来自示例文本文件的数据。 但是,当我离开$ .get()函数时,stringData var不再显示。 我不太了解该函数如何工作以了解它为什么没有像我预期的那样做。 我想要它做的就是将文本数据加载到变量中,以便我可以使用它。 任何帮助表示赞赏。

get是异步的意思是它调用服务器并继续执行其余的代码。 这就是你有回调方法的原因。 无论你打算如何处理返回数据,都要在回调方法(你已经发出警报)中进行。

get,post都是异步的。 您可以使用以进行同步呼叫

  1. 使用$.ajaxSetup({ async: false }); 代码中的任何位置。 这将影响代码中的所有ajax调用,因此请小心。

  2. $.ajax with 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); 

$ .get函数是异步的。 您需要对回调函数中返回的数据执行任何操作。 您可以将该函数移动到不内联以清理代码。

  function parseData(data){ //do something with the data alert("data is: " + data); } $.get("http://localhost/webpath/graphing/sample_data.txt",parseData);