2009-06-21 5 views
4

ajax uploader 및 Zend Framework를 사용 중입니다.json 문제점 (zend 프레임 워크가있는 valums ajax 업 로더)

문제는 onSubmit에 대한 json 응답을 사용할 때입니다. $this->getHelper('Json')->sendJson($data); 나는 saveas 대화 상자 만받습니다.

업 로더는 모든 응답 텍스트가 "text/html"이 될 것으로 예상하지만 json 도우미는 "application/json"을 mimetype으로 보냅니다.

모든 응답은 정상적으로 작동하지만 스크립트에 다시 정보를 보내야합니다.

그래서 mendype "text/html"로 jsondata를 보내야한다고 Zend에게 말할 수 있습니까?

답변

3

response object을 사용하여 응답에 영향을 줄 수 있습니다.

$content = Zend_Json::encode(array('Foo' => 'Nice', 'Bar' => 'Vice')); 
$this->getResponse() 
    ->setHeader('Content-Type', 'text/html') 
    ->setBody($content) 
    ->sendResponse(); 
exit(); 
+0

이것은 sendJson() 액션 도우미를 사용하지 않지만 그 방법에 대한 옵션이 아니다 : 컨트롤러 내에서. Zend_Json :: encode()를 사용하여 데이터를 인코딩하고이 메서드를 사용하여 직접 보내십시오. – Kekoa

+0

고마워요. – karim79

+0

유효한 json 코드를 출력하려면 마지막 줄을 '-> setBody ($ content)'및 add :'-> sendResponse();로 변경해야합니다. exit();'그렇지 않으면 Zend가 json 데이터를 기본 스타일로 둘러 쌉니다. – user63371

1

또 다른 변형

echo Zend_Json::encode(array('result' => true)); 
exit;