Как я могу добавить содержимое страницы в div с помощью Ajax? - PullRequest
0 голосов
/ 20 октября 2011

У меня есть список на моем сайте, и когда я нажимаю на каждый из элементов списка, я хочу, чтобы div рядом с ними перезагружался с помощью ajax, чтобы не перезагружать всю страницу.

ЗдесьМой javascript

  parameters = "category_id="+categoryId;
  var result = ajaxFunction("changeCategory.php", parameters);
  $("#mydiv").html(result);

Функция ajaxFunction () - это обычная функция $ .ajax () jQuery с "POST".В "changeCategory.php" я звоню с включением другого файла php.Проблема в том, что вся страница перезагружается, а не только div.Я хочу использовать эту функцию ajax, потому что хочу отправить данные в мой php-файл.

Кто-нибудь знает, что мне делать, чтобы перезагрузить только div?

Заранее спасибо

Ответы [ 5 ]

1 голос
/ 20 октября 2011

Попробуйте это

$(document).ready(function(){
    var parameters = {category_id:categoryId};
    $.ajax({
        url:'changeCategory.php',
        type:'post',
        data:parameters,
        dataType:'html',
        success:function(result){
            $("#mydiv").html(result);
        },
        error:function(){
            alert('Error in loading [itemid]...');
        }
    });

});

Также убедитесь, что в вашем событии клика эта строка написана или нет return false; Это необходимо.

1 голос
/ 20 октября 2011

Попробуйте использовать load для загрузки div с содержимым url -

$("#mydiv").load("changeCategory.php", {category_id: "category_id_value"} );

Вы можете передавать данные в URL.

Метод POST используется, если данные предоставляются в виде объекта; в противном случае предполагается GET.

0 голосов
/ 20 октября 2011
$(document).ready(function() {
    $.ajax({
        url: "right.php",
        type: "POST",
        data: {},
        cache: false,
        success: function (response) {

            $('#right_description').html(response);
        }
    });

});
0 голосов
/ 20 октября 2011

Перезагружена вся страница, что означает, что в вашем коде JavaScript может быть ошибка

проверить еще раз или попробуйте этот

function name_of_your_function(id)
{   

var html =  $.ajax({
   type: "GET",
   url: "ajax_main_sectors.php",
   data: "sec="+id,
   async: false
  }).responseText;


    document.getElementById("your div id").innerHTML=html;
}

Вы можете использовать метод get или метод post ....

0 голосов
/ 20 октября 2011

вы можете отправить запрос на этот PHP, чтобы он «понимал», что ему нужно вывести только div, например:

в вашем javascript:

//add the query here
parameters = "category_id="+categoryId + "&type=divonly";
var result = ajaxFunction("changeCategory.php", parameters);
$("#mydiv").html(result);

в вашем "changeCategory.php":

//add a query check:
$type = "";
if (isset($_POST['type'])) {
    $type = $_POST['type'];
}

//then, depending on the type, output only the div:
if($type === "divonly"){
   //output the div only;
} else {
   //your normal page
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...