2013-11-22 3 views
0

내가 PHPJSON 인코딩은/디코드

json_encode(unserialize($response))); 

이 기능이 발행하고 내가하지만 아무튼 자바 스크립트 코드

$(function() { 
     'use strict'; 
     $.ajax({ 
      url   : location.protocol + '//' + location.host + '/gallery_photolist.js', 
      data  : { 
           type : 'gallery' 
          }, 
      dataType : 'json' 
     }).done(function (result) { 
      console.log('ok'); 

이 리콜 페이지에서이

{"photosets":{"cancreate":1,"page":1,"pages":1,"perpage":2,"total":2,"photoset":[{"id":"7212806405","primary":"1099675","secret":"bdef35451","server":"7384","farm":8,"photos":3,"videos":"0","title":{"_content":"Seo"},"description":{"_content":""},"needs_interstitial":0,"visibility_can_see_set":1,"count_views":"0","count_comments":"0","can_comment":1,"date_create":"1385114442","date_update":"13855"},{"id":"721593276","primary":"10991539336","secret":"a94a094acf","server":"7335","farm":8,"photos":2,"videos":"0","title":{"_content":"Benzina"},"description":{"_content":""},"needs_interstitial":0,"visibility_can_see_set":1,"count_views":"0","count_comments":"0","can_comment":1,"date_create":"1385113740","date_update":"1385141"}]},"stat":"ok"} 

를 얻을 수 콘솔에 아무것도 기록하지 않습니다. 사실 Firebug에서 내 페이지 호출이 올바르게 javascript (탭에서 인코딩 된 json을 볼 수 있음)를 볼 수 있지만 제 스크립트가 JSON (JSON이라는 제목의 탭이 없음)을 올바르게 구문 분석 할 수 없다고 생각합니다.

도움 주셔서 감사합니다.

편집 :

enter image description here

+1

서버 측에서 PHP 스크립트를 호출하고 있습니까, 음, url 매개 변수에 .js 확장자가 있기 때문에 시작하십시오. php 프로세스를 호출하기 위해 .php로 변경하고 싶을 것이다. – ricksuggs

+0

아니, 아무 문제가 없다. 사실 프레임 워크에서 라우팅되기 때문에 "가짜"다. 그리고 나는 방화범이 끌린 Json을 읽을 수 있지만 "JSON"탭은 읽을 수 없다. (어쩌면 인터폴레이션 할 수 없다) – sineverba

+1

경고 : 신뢰할 수없는 사용자 입력을 unserialize()로 전달하지 마라. 비 직렬화는 객체 인스턴스화 및 자동 로딩으로 인해 코드가로드되고 실행될 수 있으며 악의적 인 사용자가이를 악용 할 수 있습니다. 직렬화 된 데이터를 사용자에게 전달해야하는 경우 JSON (json_decode() 및 json_encode()를 통해)과 같은 안전하고 표준적인 데이터 교환 형식을 사용하십시오. –

답변

1

가 함께 보내기되기 전에 귀하의 PHP 스크립트는 JSON을 탈출있다가, 따라서 귀하의 응답 탭 쇼는 문자를 탈출하는 이유 :이 불을 지르고 창입니다. 그것이 귀하의 문제의 원인입니다.

+0

OK .... 제발, 제 문제를 어떻게 해결할 수 있습니까? – sineverba

+0

함수 호출 직후 서버 측에서'json_encode (unserialize ($ response))') 결과를 로깅하여 브라우저에서 얻은 것과 다른지 확인하십시오. "디버깅 방법" – ricksuggs

+0

Oy, 그냥'json_encode ($ response)'를 사용하여 시작하겠다. –