Javascript 是否将在异步函数中获得的值传递给index.html?
我目前正在开发我的第一个web应用程序,其中用户可以使用AJAX选择股票并实时获取股票数据 我目前已经设置好了它,用户可以选择股票并从数据库中获取信息(参见3weekwebsites.com上的演示),但是现在我尝试用同样的方法构建一个图表,这被证明是非常困难的。这是因为在我可以使用javascript显示结果之前,现在我需要在index.html中生成图表,据我所知,您无法传递异步函数的返回值 HTMLJavascript 是否将在异步函数中获得的值传递给index.html?,javascript,jquery,ajax,asynchronous,argument-passing,Javascript,Jquery,Ajax,Asynchronous,Argument Passing,我目前正在开发我的第一个web应用程序,其中用户可以使用AJAX选择股票并实时获取股票数据 我目前已经设置好了它,用户可以选择股票并从数据库中获取信息(参见3weekwebsites.com上的演示),但是现在我尝试用同样的方法构建一个图表,这被证明是非常困难的。这是因为在我可以使用javascript显示结果之前,现在我需要在index.html中生成图表,据我所知,您无法传递异步函数的返回值 HTML getStock("aapl"); <script> var chartDa
getStock("aapl");
<script>
var chartData = [];
function createStockChart() {
...
chart.dataProvider = chartData;
chart.write('chartdiv');
}
</script>
<body>
<div id="chartdiv" style="width:100%; height:500px;"></div>
</body>
如您所见,我希望传递在javascript文件(变量“stock”)中获得的值,以便在index.html中或最终在另一个javascript文件中设置图表数据。我尝试创建一个回调函数来移动变量,但是由于回调函数也是异步的,所以我似乎无法让它工作。我是不是遗漏了什么?非常感谢您的帮助。如果我正确理解您的问题,您可以将JS文件中的函数更改为以回调函数作为参数
function getStock(str, callback){
//make request and if status 200 makea call to callback function
if(xmlhttp.status==200)
{
stock = xmlhttp.responseText.split(",");
alert("Can I pass this value along somehow:" + stock);
callback(stock);
}
}
在HTML文件中,传递回调函数
getStock("aapl", createStockChart);
<script>
var chartData = [];
function createStockChart(stockVal) {
...
chart.dataProvider = chartData;
chart.write('chartdiv');
//use stockVal
}
</script>
getStock(“aapl”,createStockChart);
var chartData=[];
函数createStockChart(stockVal){
...
chart.dataProvider=chartData;
chart.write('chartdiv');
//使用stockVal
}
jQuery标签的用途是什么?很抱歉,我有点迟钝,我还以为jQuery在某处…>很抱歉,这是网络开发的新手。不用担心,欢迎继续非常感谢。我还意识到我可以将index.html中的javascript代码移到实际的javascript文件中。。。然后我就可以写-success:createStockChart();因此,一旦php脚本完成,函数就会执行。感谢您的帮助,我将进一步研究回调函数:)
getStock("aapl", createStockChart);
<script>
var chartData = [];
function createStockChart(stockVal) {
...
chart.dataProvider = chartData;
chart.write('chartdiv');
//use stockVal
}
</script>