Внедрить HTML с помощью AJAX - PullRequest
0 голосов
/ 31 марта 2011

У меня есть страница HAML с некоторыми элементами div.Мне нужно вставить это в div на другой странице при нажатии кнопки.Как мне это сделать?спасибо

Ответы [ 3 ]

2 голосов
/ 31 марта 2011

Вы должны добавить плагин jQuery от jQuery.com.Вы можете скачать плагин или использовать ссылку http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.5.1.min.js в качестве src в файле js.

, а затем использовать следующий код

$(document).ready(function(){
  $("#your_button_Id").click(function(){
    $.ajax({
      url: "test.html",
      context: document.body,
      success: function(response){
        $('#div_Id').html(response);
      }
    });
  });
});

Надеюсь, это поможет !!!счастливого кодирования.

0 голосов
/ 31 марта 2011

Чтобы упростить этот процесс, добавьте на свою страницу библиотеку jQuery .

Ниже приведен пример использования jQuery для загрузки данных с другой страницы на текущую страницу:

inject_to = $("div#id"); // the div to load the html into
load_from = "/some/other/page"; // the url to the page to load html from
data = ""; // optional data to send to the other page when loading it

// do an asynchronous GET request
$.get(load_from, data, function(data)
{
    // put the received html into the div
    inject_to.html(data);
}

Обратите внимание, что это открывается для проблем безопасности / xss, и я бы рекомендовал использовать .text вместо .html и загружать только внешний текст с внешней страницы.Дополнительная информация о jQuery ajax: http://api.jquery.com/category/ajax/

Чтобы сделать это при нажатии кнопки, поместите приведенный выше код в функцию, например:

function buttonClicked()
{
    inject_to = $("div#id"); // the div to load the html into
    load_from = "/some/other/page"; // the url to the page to load html from
    data = ""; // optional data to send to the other page when loading it

    // do an asynchronous GET request
    $.get(load_from, data, function(data)
    {
        // put the received html into the div
        inject_to.html(data);
    }
}

Затем добавьте обработчик события длясобытие click для кнопки, например:

$("button#id").click(buttonClicked);

Дополнительная информация о событиях jQuery: http://api.jquery.com/category/events/

0 голосов
/ 31 марта 2011

попробуйте $ ('div'). Load ('lol.HTML'), если вы хотите использовать jquery

...