在php

问题描述:

中将HTTP内容类型响应设置为“application/json”我有问题。我有如下因素条件:在php

You should return an HTTP 500 status code and more details about the error in the message body. Set the HTTP content type response to “application/json”.The error detail must be in JSON format as described below: 

{ 
    "ErrorCode" : 402, 
    "ErrorMessage" : "Item" 
    } 

我想是这样的:

if(!Gain::verifyIfUserExistByIdm($aOutput['UserId'])){ 
    header("HTTP/1.0 500 Internal Server Error"); 
    return json_encode(array('ErrorCode'=>407,'ErrorMessage'=>'Error')); 
    die(); 
} 

但是不行,你能帮帮我吗? THX提前

+0

'标题(“内容类型:应用程序/ json');' –

+0

我需要添加这个'header' – TanGio

+0

我想你想要这个 - http://stackoverflow.com/questions/4162223/how-to-send-500-internal-server-error-error -from-a-php-script,并且不需要返回。简单地退出;标题足够后。 – ArtisticPhoenix

你需要输出的JSON(不仅仅是归还),并让客户知道内容是JSON通过设置Content-Type

// The user does not exist 
if (! Gain::verifyIfUserExistByIdm($aOutput['UserId'])) { 

    // If the user does not exist then "Forbidden" would make sense 
    header("HTTP/1.0 403 Forbidden"); 

    // Let the client know that the output is JSON 
    header('Content-Type: application/json'); 

    // Output the JSON 
    echo json_encode(array(
     'ErrorCode' => 407, 
     'ErrorMessage' => 'Error', 
    )); 
    // Always terminate the script as soon as possible 
    // when setting error headers 
    die; 
}