非常简单的jquery post()(尝试将html发送到另一个页面)

时间:2012-02-29 11:03:55

标签: javascript jquery html http-post

我正在努力使用post()方法。

我已经在这里和jquery论坛上阅读了几篇帖子,并且只是试图让一段简单的代码工作变得困难。我的最终目标是将一个div #exportData及其所有孩子传递给test.php。

我开始时:

$.post("ajax/test.php", $("body").html());

在我看来,这应该将当前页面的全部内容返回到test.php(除非test.php需要一个保持div或元素来接收内容)。目前它只返回空白页。

如果我需要操作这些参数,我会尝试查看post()的参数:

$.ajax({
        type: 'POST',
        url: ajax/test.php,
        data: data,
        success: success,
        dataType: dataType
    });

还声明了一个变量:

var data = { 
        html: #exportData
    };

当然有点失败。我不知道如何在参数中定义数据,或者这是否是正确的位置。

虽然我会想到:

 $.post("ajax/test.php", $("body").html());

本来可以工作然后我可以替代"身体"对于我喜欢的任何类,id或选择器。

提交按钮也需要某些参数才能将其与post功能联系起来。目前纯粹是:

<input type="submit" id="submit" value="send" name="submit">

对不起,这是一个基本问题。

3 个答案:

答案 0 :(得分:3)

你可以做到

var html = $("body").html();
var data = { 
        html: html
    };
$.post("ajax/test.php", data);

作为$ .post()的第二个参数是一个包含您要发送到服务器的数据的对象。

要发送您可以执行的数据:

<input type="submit" id="submit" value="send" name="submit">

js

$('input#submit').click(function(e){
  //prevent submitting the form (if there is a form)
  e.preventDefault();
    var html = $("body").html();
    var data = { 
            html: html
        };
    $.post("ajax/test.php", data);
});

服务器端您收到数据

 $html = $_POST['html']

答案 1 :(得分:0)

$.post()期望将一个对象与post请求一起传递给transfert数据:

  

jQuery.post(url [,data] [,success(data,textStatus,jqXHR)] [,dataType])
  
   url:包含请求发送到的网址的字符串   数据:随请求一起发送到服务器的地图或字符串。
   success(data,textStatus,jqXHR):请求成功时执行的回调函数。
   dataType:服务器所需的数据类型。默认值:智能猜测(xml,json,脚本,文本,html)。

var content = $ ('body').html(),
    data = { content: content };

$.post('ajax/test.php', data);

答案 2 :(得分:0)

在帖子中发送html听起来不是一个好主意。 Html中的所有元素类型inputselect都将为空。您需要使用.serialize才能获取值。

$('#submit').submit(function () {
    $.ajax({
       type: 'POST',
       url: 'ajax/test.php',
       data: {
           html: $('body').html()
       }
    });        
});