2013-10-04 51 views
1

我想通過使用jQuery的AJAX發送JSobject中的一些數據。序列化通過AJAX發送的JSON對象

這裏是json對象。

var cookieData = { 
     'land' : document.URL, 
     'ref' : document.referrer 
    }; 

的對象它們存儲在cookie中......通過JSON.stringify(cookieData);

發送前形式和AJAX柱子是,我需要的對象的屬性:

var cookieData = cookie.get(website); //return the cookieData in stringified form. 
var submitData = 'tracking=' +cookieData + jQuery("#quoteForm").serialize(); 

但是,在接收應用程序的最後,數據是不可用的,有什麼方法可以序列化它以便在AJAX文章中使用?

接收端是一個PHP應用程序,與處理:

$trackingData = json_decode(htmlspecialchars_decode($_POST['tracking']),true); 
+3

你的對象有一個額外的逗號,fyi。此外,它只是一個javascript對象,而不是一個json對象。您的數據意味着什麼不可用?你忘記了你的json數據和序列化數據之間的'&'嗎?將這些數據作爲對象而不是字符串傳遞會更容易,讓jQuery將其轉換爲參數字符串。 –

+0

這會有很大的幫助,如果你發佈接收的PHP應用程序代碼:) – tomahaug

+0

@KevinB星期五下午摧毀我...你是對的 – bear

回答

1

可能的問題是缺少&,試試這個

var submitData = 'tracking=' + cookieData + '&' + jQuery("#quoteForm").serialize(); 

順便說一句,這錯誤返回PHP或json_decode /無論你用什麼解碼json?

+1

$ _REQUEST看起來像跟蹤鍵包含cookieData和序列化表單數據? – bear

+0

@Shamil準確。這可能是問題。嘗試在查詢中添加'&'作爲daniele_dll建議:) – tomahaug

+0

@tomahaug它發生在那裏...讓我硬刷新JS – bear