Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 非常简单的jquery post()(尝试将html发送到另一个页面)_Javascript_Jquery_Html_Http Post - Fatal编程技术网

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

Javascript 非常简单的jquery post()(尝试将html发送到另一个页面),javascript,jquery,html,http-post,Javascript,Jquery,Html,Http Post,我正在努力使用post()方法 我已经在这里和jquery论坛上读了好几篇文章,仅仅尝试一段简单的代码是很困难的。我的最终目标是将div#exportData及其所有子项传递给test.php 我从以下几点开始: $.post("ajax/test.php", $("body").html()); 在我看来,这应该将当前页面的全部内容返回到test.php(除非test.php需要一个holding div或元素来接收内容)。当前它只返回空白页。 然后,如果需要操作这些参数,我尝试查看post

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

我已经在这里和jquery论坛上读了好几篇文章,仅仅尝试一段简单的代码是很困难的。我的最终目标是将div#exportData及其所有子项传递给test.php

我从以下几点开始:

$.post("ajax/test.php", $("body").html());
在我看来,这应该将当前页面的全部内容返回到test.php(除非test.php需要一个holding 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());
我可以用“body”替换我喜欢的任何类、id或选择器

submit按钮是否需要某些参数将其与post功能绑定。目前,这纯粹是:

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

对不起,这是个很基本的问题

你可以这样做

var html = $("body").html();
var data = { 
        html: html
    };
$.post("ajax/test.php", data);
因为$.post()的第二个参数是一个对象,其中包含要发送到服务器的数据

要发送数据,您可以执行以下操作:

<input type="submit" id="submit" value="send" name="submit">
接收数据的服务器端

 $html = $_POST['html']
期望将对象与post请求一起传递给transfert数据:

jQuery.post(url[,data][,success(data,textStatus,jqXHR)][,dataType])

url:包含请求发送到的url的字符串。
数据:随请求一起发送到服务器的映射或字符串。
成功(数据、文本状态、jqXHR):如果请求成功,则执行的回调函数。
数据类型:服务器所需的数据类型。默认值:智能猜测(xml、json、脚本、文本、html)


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

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

您需要显示页面
ajax/test.php
的代码,以便我们提供帮助。首先,我认为您需要对web表单进行进一步的探索,这将有助于您了解submit按钮的工作原理以及它们是如何链接在一起的。在这个阶段,我试图传递到页面的数据中没有表单元素,只有html,我读到了有关字符被更改的信息,我希望避免这些更改。“数据:随请求发送到服务器的映射或字符串。“似乎表明字符串可以正常工作,但发送整个页面的HTML可能不是一个好主意。Send thill body=证明了这个概念的有效性,带有id的Send div将是页面的较小子集。虽然它可能仍然有很多字符,但我确实认为发送整个页面html,甚至只是其中的一部分也是一个坏主意。我不明白为什么警察要这么做。但从技术上讲,这是可能的。我无法实现这一点:(我实际上禁用了preventDefault操作,因为我希望看到test.php页面加载其中发布的内容,现在重新加载当前页面,url附加了:?submit=send。代码现在在线,因此我可以发送url进行测试。
var content = $ ('body').html(),
    data = { content: content };

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