Как передать переменную JavaScript в JQuery

Как я упоминал в названии, я хочу передать 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
3 ответа

Вам нужно прочитать Ajax, а также jQuery.

Попробуйте это сначала

function chooseCategory(mat_id){
 $.post("test.php",{"id":mat_id},function(data) {
 window.console && console.log(data);
 });
}

тогда, когда вы счастливы, попробуйте получить старшие карты, которые должны быть загружены, конечно

function chooseCategory(mat_id){
 $.post("test.php",{"id":mat_id},function(data) {
 $('#container3').highcharts({
 series: [{ "type":"line", "name": "#numbers", "data": data }]
 });
 });
}


Поскольку вызов 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({ ... });
}


Просто определите функцию, которая вызывает высокие диаграммы.

var drawChart = function(data_ajax) {
 $('#container3').highcharts({
 ...
 ...
 series: [{ type: 'line', name: '#numbers:', data: data_ajax
 });
}

А затем вместо предупреждения данные просто вызывают функцию:

drawChart(data_ajax)

licensed under cc by-sa 3.0 with attribution.