没有在头文件中的content-type中获取application / json

时间:2013-08-14 10:25:32

标签: php json jquery cakephp

我想发送数据并以JSON的形式获得响应,以便快速响应。所以我正在使用AJAX。 我为什么要

Content-Type text / html; charset = UTF-8

为什么不

Content-Type application / json

控制器

 public function testingMethod() {
        $this->autoRender = false;
        $urlVal = $_POST['urlVal'];
        $dataBack = json_encode($urlVal);
        if ($this->RequestHandler->isAjax()) {
            return $dataBack;
        }
    }

的jQuery

$.ajax({
      type: "POST",
      url: pathname+"Frontends/testingMethod",
      data: 'urlVal=' + urlVal, 
      dataType: 'json',
      success: function (result) {
        console.log(result);
        alert(result);
     }
    });

标题

Response Headers

Connection  Keep-Alive
Content-Length  2382
Content-Type    text/html; charset=UTF-8     //why here not getting application/json
Date    Wed, 14 Aug 2013 10:17:38 GMT
Keep-Alive  timeout=5, max=94
Server  Apache/2.2.22 (Win32) PHP/5.4.3
X-Powered-By    PHP/5.4.3

1 个答案:

答案 0 :(得分:2)

快速核对清单:

  1. .json扩展名添加到routes.php

    Router::parseExtensions('json');
    
  2. 在控制器中加载RequestHandler类:

    public $components = array(
        'RequestHandler',
    );
    
  3. 在模型的json目录中创建一个View文件夹,并在其中放置JSON视图。

  4. .json附加到网址:

    url: pathname+"Frontends/testingMethod.json",
    
  5. JSON and XML views记录了这一点。值得阅读完整的文档,因为我所描述的步骤并不是唯一可行的方法。