2015-11-21 152 views
0

我有一個名爲post-blog.php的頁面,在這裏我設置了一個博客條目。我將所有這些數據保存到一個變量中。它將數據顯示在一個數組中。發送數據ajax

var data = title + content + image + datetime + categories; 

我如何將此數據發送到另一個叫做頁面publish.php和用戶重定向到該網頁? 我試圖設置一個ajax來做到這一點,但它不工作。有什麼建議麼 ?

$.ajax({ 
     type: 'POST', 
     cache: false, 
     url:  'publish.php', 
     data:  data, 
     success: function(data) { 

      alert (data); 

     } 

     }); 

     return false; 

    }); 
+0

您可以添加更多關於您想要的結果的詳細信息嗎? – Thaillie

+0

正確我有一個變量叫做數據,它保存着信息,當用戶點擊按鈕時,我希望var數據(暫時保存)併發送到publish.php,但我也希望它將用戶發送到該頁面自動。在該頁面上,我只想提醒(數據)並在var數據中顯示信息 –

+0

對您有幫助嗎?感謝您的回覆 –

回答

-1

我假設你所有的變量都是字符串。如果它們不是,例如datetime可能是一個對象,那麼首先將它們改爲一個字符串。

Docs說Object must be Key/Value pairs或字符串。

對象爲這項工作做得很好,你可以試試:

var data = {title: title, content: content, image: image, datetime: datetime, categories: categories}; 

如果你的數據從一個表單來看看jQuery's serialize

我從來沒有嘗試過在POST中作爲字符串傳遞,但我的直覺是它需要採用類似於通過url傳遞數據的格式。

var data = 'title=' + title + '&content=' + content; 

還要記住在成功功能data是不一樣的被傳遞到PHP頁面的內容。這是PHP頁面將返回的內容。如果您是php頁面,則返回任何內容,但您的警報將爲空。當我正在測試時,我喜歡在PHP文件中加入類似echo $_POST['title'];的內容,以查看返回的內容。

Here is a similar question也可能有幫助。

+0

from your link,'data' accept PlainObject or String or Array ... –

+0

更新了響應;我知道文檔說它接受一個字符串,但我作爲一個對象總是有更好的運氣。 – Deplicator

0

根據我對問題的理解,您需要將數據傳遞到新頁面並打開該頁面。

如果這是你的問題,那麼這可以做到沒有AJAX,基本上AJAX甚至不提供解決方案在這裏。相反,你可以通過所有的數據到新的頁面中,如下所示的查詢格式 -

var page = 'publish.php?title='+title+ '&content='+content+'&image='+image+ '&datetime='+datetime+'&categories='+categories; 

然後,只需改變窗口的位置,如下

window.location.href = page;

並獲得所有這些變量在PHP文件,請在publish.php之上 -

if($_GET['title']) 
{ 
    $title = $_GET['title']; 
} 
// similarly get all the data in publish.php file and continue with your page 
+0

這正是我正在尋找的,對不起,我是新的,並沒有reaslise你需要ajax。 –

+0

我收到一個錯誤 - 未捕獲的SyntaxError:意外的標識符通過var頁面? –

+0

你能否在這裏粘貼你的'data'內容..和完整的錯誤? – Chandan