使用ajax注入html

时间:2011-03-31 13:50:06

标签: html ajax haml

我有一个带有一些div元素的HAML页面。当点击一个按钮时,我需要将它注入另一个页面上的div。我该怎么做呢?感谢

3 个答案:

答案 0 :(得分:2)

你必须从jQuery.com添加jQuery插件。你可以下载插件或使用链接 http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.5.1.min.js作为js文件中的src。

然后使用以下代码

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

希望这会有所帮助!!! 快乐的编码。

答案 1 :(得分:0)

尝试$('div')。load('lol.HTML')如果你想使用jquery

答案 2 :(得分:0)

要简化此过程,请将jQuery library添加到您的页面。

以下是使用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/