2015-03-02 37 views
-3

jQuery的使用Ajax发送HTML标签内,并保存在PHP

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()"/>

什么想法?

+0

看起来你错过了这个选择器上的id/class前缀:'$('getPageHTML')'。 – 2015-03-02 13:15:27

+0

我想在这里调用这个函数。那可能吗? – 2015-03-02 13:17:41

+0

实际输出是多少?你有没有得到任何回应?任何错误?这里有什么问题 – 2015-03-02 13:18:00

回答

1

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

看起来像这样。

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

呀!这将会真正帮助其他人 – 2015-03-02 13:57:25

+0

感谢您指出。 – 2015-03-02 13:58:37

相关问题