2013-10-04 7 views
1

jQuery를 사용하여 AJAX를 통해 JSobject에서 일부 데이터를 보내려고합니다.AJAX를 통해 전송할 JSON 객체 직렬화

다음은 json 개체입니다.

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

양식이 전송되고 AJAX 포스트가되기 전에 개체가 그들을 JSON.stringify(cookieData);

를 통해 ... 쿠키에 저장되어, 나는 개체의 속성을 얻을 필요가 :

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

그러나 수신 응용 프로그램의 끝에서 데이터를 사용할 수 없으며 AJAX 게시물에서 사용할 수 있도록 직렬화 할 수있는 방법이 있습니까?

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

개체에 쉼표가 추가되었습니다 (예 : fyi). 또한 json 객체가 아니라 자바 스크립트 객체입니다. 데이터가 사용 불가능하다는 것은 무슨 뜻입니까? 당신의 json 데이터와 직렬화 된 데이터 사이에'&'를 잊었습니까? 이 데이터를 문자열이 아닌 객체로 전달하는 것이 더 쉽습니다. jQuery가이를 매개 변수 문자열로 변환하도록하십시오. –

+0

수신 PHP 응용 프로그램 코드를 게시 한 경우 많은 도움이 될 것입니다 :) – tomahaug

+0

@KevinB 금요일 오후에 나를 파괴하십시오 ... 당신이 맞습니다 – bear

답변

1

문제는이 & 누락 방식, 오류 리턴 PHP 또는함으로써이

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

시도인지 될 수

수신단으로 처리 된 PHP 애플리케이션이며 json_decode/json을 디코딩 할 때 사용하는 것은 무엇입니까?

+1

$ _REQUEST는 키에 cookieData와 직렬화 된 양식 데이터가 모두 포함되어 있습니까? – bear

+0

@Shamil 정확히. 그것은 아마도 문제 일 것입니다. daniele_dll이 제안하는대로 '&'를 쿼리에 추가하십시오. – tomahaug

+0

@tomahaug 그곳에서 일어난 일입니다 ... JS를 열심히 새로 고칩니다. – bear

관련 문제