Я пытаюсь отправить часть данных через jQuery .ajax () в скрипт PHP, который затем будет загружен в контейнер div. Затем скрипт PHP будет работать с этим фрагментом данных, и его содержимое будет возвращено в вышеупомянутый контейнер div.
Изначально я написал этот фрагмент кода (показанный ниже), который успешно добавлял правильные элементы при щелчке, но не мог правильно назвать их, потому что он не передавал переменную count_bucket в PHP.
var count_bucket = 4;
var loadPHP = "create_new_bucket.php";
$(".add_bucket").click(function(){
count_bucket++;
$("#tree_container2").append( $('<div id="bunch' + count_bucket + '">').load(loadPHP));
return false;
});
Затем я изменил код на этот (показанный ниже), пытаясь передать переменную count_bucket в скрипт PHP.
var count_bucket = 4;
$(".add_bucket").click(function () {
count_bucket++;
var bucket_add = $.ajax ({
type: "GET",
url: "create_new_bucket.php",
data: var count_bucket,
dataType: "json",
async: false,
}).responseText;
$('#tree_container2').append( $('<div id="bunch' + count_bucket + '">').load(bucket_add));
});
PHP-файл create_new_bucket.php выглядит следующим образом:
<?php
include_once "test_functions.php"; // include functions page
$i = $_GET["count_bucket"];
drawBunchNew($i);
?>
Мне неясно, какой аспект .ajax () неверен. Я подозреваю, что неправильно собираю переменную в PHP или использую неверный синтаксис для передачи ее в файл PHP. Если бы кто-нибудь мог помочь мне определить ошибку, я был бы очень признателен.
* UPDATE ******
Спасибо Тейс и Танду. Теперь я понимаю, как структурировать данные, но у меня все еще возникают проблемы с работой всего jQuery. Я воспользовался предложением Танду использовать вместо него .load () и изменил свой PHP, чтобы использовать POST для извлечения данных, но он все еще работает неправильно.
var count_bucket = 4;
$(".add_bucket").click(function () {
count_bucket++;
var bucket_add = $.load ("create_new_bucket.php", {count_bucket: count_bucket}, }).responseText;
$('#tree_container2').append( $('<div id="bunch' + count_bucket + '">').load(bucket_add));
});
И PHP это:
<?php
include_once "test_functions.php"; // include functions page
$i = $_POST["count_bucket"];
drawBunchNew($i);
?>
Окончательный рабочий jquery, который я использовал (конечный PHP такой же, как указано выше):
var count_bucket = 4;
var loadPHP = "create_new_bucket.php";
$(".add_bucket").click(function(){
count_bucket++;
$("#tree_container2").append( $('<div id="bunch' + count_bucket + '">').load(loadPHP, {count_bucket: count_bucket}));
return false;
});