2014-03-26 4 views
0

Мне интересно, как переместить переменную из PHP в JQuery.Переменная PHP переменной jquery

Мой файл PHP загружен в DIV так:

$("#leaguesSelectionTable th").click(function(){ 
     var teamSelect = this.id; 
$("#loadTables").load("php/leagueTable.php?team="+teamSelect); 
}); 

Когда leagueTable.php загружается в DIV, повторил я и убедился, что переменная получает там. Оно делает.

<?php if(isset($_GET['team'])){ 
    $team = $_GET['team']; 
}?> 

leagueTable.php также имеет свой собственный .js-файл с большим количеством функций. Я хочу знать, могу ли я получить переменную $ team в файле leagueTable.php в файле .js (который работает на готовом документе) и хранится в переменной. Что-то вроде:

$.get("../leagueTable.php", function(data) { 
    var = data; 
}); 

То, что я действительно не понимаю о Ajax вызовов Как указать конкретную информацию, я хочу из файла PHP? Я хочу только получить переменную $ team и сохранить ее в переменной jquery.

Спасибо.

+1

Вам необходимо передать ваши php-данные и вывести их в формат, легко обрабатываемый библиотекой jQuery. Я бы рекомендовал превратить ваши php-данные в json http://www.php.net/manual/en/ref.json.php, поскольку jQuery может легко взаимодействовать с этим типом данных http://api.jquery.com/jquery. getjson/ –

+0

Итак, я пошел вперед и сделал json_encode ($ team); Теперь на следующем шаге, например: $ .getJSON («../ leagueTable.php», функция (данные) { \t \t \t var teamSelect = .....? – user2410532

ответ

0

Метод load ожидает в этом случае HTML из предоставленного URL, который должен быть встроен в предоставленный элемент, #loadTables.

Элемент script полностью действителен, и браузер, вероятно, выполнит то, что находится внутри, сразу после добавления новых элементов DOM.

Итак, контекст, в котором выполняется эта новая JS, должен быть таким же, как и тот, где вы делали вызов AJAX. Если я не ошибаюсь, вы можете глобально объявить переменную перед вызовом метода load, и sub-script, включенный в ответ AJAX, должен иметь к нему доступ.

Хотя, я думаю, что это, вероятно, не самый лучший подход, который вы могли бы использовать.

0

просто

<?php if(isset($_GET['team'])){ 
     echo $_GET['team'];exit; 
    }?> 

и попробовать это, чтобы проверить, если вы получаете правильные значения

 $.get("../leagueTable.php", function(data) { 
      console.log(data); 
    }); 
+0

Можете ли вы объяснить мне «данные»? Является ли данные просто всем и что-либо из PHP? Что делать, если я хочу только один var? Кроме того, я не хочу эхо-переменную, она будет отображаться на странице справа? Heh. – user2410532

+0

nope, она не будет отображаться на странице .. if вы отправляете запрос ajax, «данные» - это параметр, в котором мы собираем ответ запроса.если вы нажмете эту страницу в браузере, то она будет эхо-команда $ _GET ['team']. –

0
<script type="text/javascript"> 
$("#leaguesSelectionTable th").click(function(){ 
     var teamSelect = this.id; 
$.get("php/leagueTable.php?team="+teamSelect", function(data) { 
var teamSelect = jQuery.parseJSON(data); 
}); 

}); 
<script> 

ИЛИ вы можете просто использовать, как показано ниже:

var teamSelect = jQuery.parseJSON('<?php echo $teamSelect;?>'); 

Здесь вам придется предварительно pare $ teamSelect в php-файле как строка JSON.

Смежные вопросы