jquery使用ajax发送html标签内部并保存在php中

时间:2015-03-02 13:14:12

标签: jquery ajax

NEW

function save(){
    $.ajax({
    url:"save-script.php",
    type:'POST',
    data: getPageHTML()
    });
}

这就是我设置ip的功能。

AJAX似乎正在删除字符和符号。 +和&被空格取代。我已经尝试过使用encodeURIComponent,但它最终会删除所有内容。

这就是我使用它的方式

data: encodeURIComponent(getPageHTML())

我这样做了吗?

OLD

我正在尝试打印<html>标签内的所有内容并将其发送到php文件。

我在这两个标签内都得到了所有内容

的index.html

function getPageHTML() {
    $("input").each(function(){
    $(this).attr("value", $(this).val());
    });
    return "<html>" + $("html").html() + "</html>";
}

使用按钮正常工作,看看我得到了什么。

<button onclick="console.log(getPageHTML());">Print html</button>

我现在想把它发送到我看起来像这样的save-html.php文件。

<?php
    echo "Here is your post:";
    print "<pre>";
        print_r($_POST);
    print "</pre>";
?>

这是我正在尝试的

function save(){
        var query = $('getPageHTML').serialize();
        var url = 'save-html.php';
        $.post(url, query, function (response) {
         alert (response);
        });
    }

和按钮<input type="button" value="Send" onclick="save()"/>

我在这里做错了什么想法?

1 个答案:

答案 0 :(得分:1)

我指出的问题是,我使用的是.serialize()。 所以把它改成了.html(),这解决了我的问题。

看起来像这样。

function save(){
    $.ajax({
    url:"save-html.php",
    type:'POST',
    data: "<html>" + $("html").html() + "</html>"
    });
}