使用 PHP Zend Framework 2.0.2,我在 AJAX 调用后返回 JSON 数据。显然,Internet Explorer 9 想要下载数据而不是将其返回给调用 Javascript 方法。
像这个和这个这样的帖子说使用Content-Type: text/plain
而不是Content-Type: application/json
,但是我如何使用 ZF2 的 JsonModel 来做到这一点?我是新手...
我想我必须在setOptions()
数组中设置一些东西,但是什么?
public function testJsonAction()
{
$jsonResponse = new JsonModel(array('success' => false));
$jsonResponse->setOptions(array(
// ** Should I put something here? What? **
));
return $jsonResponse;
}
我尝试使用这些:
$this->getResponse()->getHeaders()->addHeaderLine('Content-Type', 'text/plain');
$this->getResponse()->getHeaders()->addHeaderLine('Content-Disposition', 'inline; filename="textdata.json"');
但它不会更改响应标头中的 HTTP Content-Type:
Key Value
Response HTTP/1.1 200 OK
Content-Type application/json
Server Microsoft-IIS/7.5
X-Powered-By PHP/5.3.13
Set-Cookie ZDEDebuggerPresent=php,phtml,php3; path=/
Content-Disposition inline; filename="textdata.json"
X-Powered-By ASP.NET
Date Wed, 10 Oct 2012 13:19:42 GMT
Content-Length 17
谢谢你的帮助!