Jquery json问题(带zend framework的valums ajax上传程序)

Jquery json问题(带zend framework的valums ajax上传程序),jquery,ajax,json,zend-framework,mime-types,Jquery,Ajax,Json,Zend Framework,Mime Types,我正在使用 以及Zend框架 问题是当我对onSubmit使用json响应时。 使用$this->getHelper('Json')->sendJson($data) 我只得到一个“另存为”对话框 问题是,上传程序希望每个响应都是“text/html”,但json帮助程序将“application/json”作为mimetype发送 使用通常的响应,一切正常,但我需要将一些信息发送回脚本 那么,我如何才能说Zend应该使用mimetype“text/html”发送jsondata呢?您可以使用。

我正在使用 以及Zend框架

问题是当我对onSubmit使用json响应时。 使用
$this->getHelper('Json')->sendJson($data)
我只得到一个“另存为”对话框

问题是,上传程序希望每个响应都是“text/html”,但json帮助程序将“application/json”作为mimetype发送

使用通常的响应,一切正常,但我需要将一些信息发送回脚本


那么,我如何才能说Zend应该使用mimetype“text/html”发送jsondata呢?

您可以使用。从控制器内部:

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

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

这不使用sendJson()操作帮助器,但该方法没有任何选项。使用Zend_Json::encode()对数据进行编码,并使用此方法自行发送。感谢Kekoa,注意并合并。要输出有效的Json代码,您必须将最后一行更改为:
->setBody($content)
,并添加:
->sendResponse();退出()否则Zend将使用默认值包围json数据style@axel.klein-我根据你的评论编辑了答案。谢谢,很抱歉我忘了包含sendResponse位,我通常在输出之前将响应抓取到变量中。