2011-03-10 3 views
0

jQuery로 데이터를 수집하고 다차원 배열에 넣은 후 JSON.stringify을 사용하여 AJAX를 사용하여 PHP에 전달했습니다. json_decode가 계속해서 나를 제공합니다 a Syntax error, malformed JSON 오류. PHP를ajax를 통한 다차원 배열이 json_decode를 통해 null로 바뀜

[\"foo\",\"foobar did the baz\",[[\"bar\",\"kg\",\"200\"],[\"baz\",\"l\",\"1337\"]]] 

이상한 일에 전달되는

을 heres JSON 내가 JS에서의 다차원 배열 JSON.stringify를 사용한다는 것이다. 내가 어떻게 조합 할까?

어떻게 PHP가 다차원 배열을 올바르게 구문 분석 할 수 있습니까? 나는 3 개 가지 캐릭터 라인 배열에 전달하여 그것을 해결했습니다,하지만 어떻게되는지 보여줄 수있는 다차원 배열이

PHP의 실패 이유는 더 호기심은 다음과 같습니다

이 appearantly 중요하기 때문에 var_dump(json_decode($_POST['ingredients']));이 보여 내가 어떻게 데이터를 게시을 heres JS는 Ajax 요청을 할 수

$.ajax({ 
    url: '/api/savenewrecipe.php', 
    type: 'POST', 
    data: 'ingredients=' + json + "&name=" + $("h1").text() + "&method=" + $("#method").val(), 
    success: function(result) { 
     if (result.ok == true) { 
      // @todo remove this for debugging purposes 
      //document.location.href = '/recipe/' + result.id; 
     } 
     else { 
      showError("Noget gik galt!", 2000); 
     } 
    } 

}); 
+0

ur php 코드는 어디에 있습니까? – Neal

+0

그것은 irelevant이어야한다 –

+0

어디서 u는 ur js에 PHP에 게시합니까 ?? – Neal

답변

2

서버가 마법 따옴표를 사용하는 경우, 당신이 그들을 제거해야합니다 :

if (get_magic_quotes_gpc()) { 
    $_POST['ingredients'] = stripslashes($_POST['ingredients']); 
} 
+0

난 그냥 코멘트 섹션을 읽었습니다. – kjy112

관련 문제