我正在努力使用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">
对不起,这是一个基本问题。
答案 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中的所有元素类型input
或select
都将为空。您需要使用.serialize
才能获取值。
$('#submit').submit(function () {
$.ajax({
type: 'POST',
url: 'ajax/test.php',
data: {
html: $('body').html()
}
});
});