2015-03-02 70 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

相關問題