This commit is contained in:
thinkphp
2016-07-14 16:35:08 +08:00
2 changed files with 17 additions and 4 deletions

View File

@@ -19,8 +19,9 @@ class Json extends Response
protected $options = [ protected $options = [
'json_encode_param' => JSON_UNESCAPED_UNICODE, 'json_encode_param' => JSON_UNESCAPED_UNICODE,
]; ];
protected $contentType = 'application/json'; protected $contentType = 'application/json';
/** /**
* 处理数据 * 处理数据
* @access protected * @access protected
@@ -31,6 +32,11 @@ class Json extends Response
{ {
// 返回JSON数据格式到客户端 包含状态信息 // 返回JSON数据格式到客户端 包含状态信息
$data = json_encode($data, $this->options['json_encode_param']); $data = json_encode($data, $this->options['json_encode_param']);
if ($data === false) {
throw new \InvalidArgumentException(json_last_error_msg());
}
return $data; return $data;
} }

View File

@@ -22,7 +22,7 @@ class Jsonp extends Response
'default_jsonp_handler' => 'jsonpReturn', 'default_jsonp_handler' => 'jsonpReturn',
'json_encode_param' => JSON_UNESCAPED_UNICODE, 'json_encode_param' => JSON_UNESCAPED_UNICODE,
]; ];
protected $contentType = 'application/javascript'; protected $contentType = 'application/javascript';
/** /**
@@ -35,8 +35,15 @@ class Jsonp extends Response
{ {
// 返回JSON数据格式到客户端 包含状态信息 [当url_common_param为false时是无法获取到$_GET的数据的故使用Request来获取<xiaobo.sun@qq.com>] // 返回JSON数据格式到客户端 包含状态信息 [当url_common_param为false时是无法获取到$_GET的数据的故使用Request来获取<xiaobo.sun@qq.com>]
$var_jsonp_handler = Request::instance()->param($this->options['var_jsonp_handler'], ""); $var_jsonp_handler = Request::instance()->param($this->options['var_jsonp_handler'], "");
$handler = !empty($var_jsonp_handler) ? $var_jsonp_handler : $this->options['default_jsonp_handler']; $handler = !empty($var_jsonp_handler) ? $var_jsonp_handler : $this->options['default_jsonp_handler'];
$data = $handler . '(' . json_encode($data, $this->options['json_encode_param']) . ');';
$data = json_encode($data, $this->options['json_encode_param']);
if ($data === false) {
throw new \InvalidArgumentException(json_last_error_msg());
}
$data = $handler . '(' . $data . ');';
return $data; return $data;
} }