php - 如何将 JavaScript 变量传递给 JQuery

标签 php javascript jquery ajax highcharts

正如我在标题中提到的,我想将 Javascript 变量传递给 JQuery。我花了一整天的时间寻找方法,但一无所获。我尝试使用ajax将变量传递给PHP,然后我可以获得响应数据。但是当我想将它传递到 highcharts 时,它不起作用,有人可以告诉我如何做到这一点吗?我将非常感激。

//this is the ajax I used to send the request to PHP , I can get the data in data_ajax.
function chooseCategory(mat_id){
            var ajax = ajaxObj("POST", "test.php");
        ajax.onreadystatechange = function() {
        if(ajaxReturn(ajax) == true) {
             data_ajax = ajax.responseText;
             alert(data_ajax);}
                }

                ajax.send("id=" + material_id);
        }

    //this is part of the jquery code, the charts can not get any data from variable data_ajax.
     $(function () {                                            
$('#container3').highcharts({
    ...
    ...
     series: [{  type: 'line', name: '#numbers:', data: data_ajax

最佳答案

由于 Ajax 调用是异步的,因此您需要等待其完成后再加载 Highcharts。为此,您通常使用回调。将图表加载代码放入函数“loadCharts(data)”中,并从 Ajax 处理程序内部调用该函数。像这样的事情:

function chooseCategory(mat_id){
    // ...

    ajax.onreadystatechange = function() {
        if(ajaxReturn(ajax) == true) {
            data_ajax = ajax.responseText;
            alert(data_ajax);
            loadCharts(data_ajax);
        }
    };
}

function loadCharts(data_ajax)
    $('#container3').highcharts({ ... });
}

关于php - 如何将 JavaScript 变量传递给 JQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18728723/

相关文章:

php - AWS lambda函数:put event is not triggered in direct browser upload in php

php - 处理失败的 nonce 验证的最佳方法是什么?

javascript - 如何在未选中复选框时禁用 PHP 禁用和清除文本框。根据数据库选中/取消选中复选框

javascript - jqGrid 错误 - "Element is not a table"

django - 为 django 评论表单分配唯一 ID

php - 如何使用 PhpStorm 连接到 Openshift 数据库?

php - 查询SQL多表

javascript - Angular JS 延迟 Controller 和指令初始化,直到从服务器返回数据

javascript - 如何获取存储在 DOM 元素中的数据?

javascript - Node Express 处理来自外部 api 的身份验证 token