diff options
Diffstat (limited to 'web')
-rw-r--r-- | web/lib/aurjson.class.php | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/web/lib/aurjson.class.php b/web/lib/aurjson.class.php index befb639..06247eb 100644 --- a/web/lib/aurjson.class.php +++ b/web/lib/aurjson.class.php @@ -11,7 +11,7 @@ if (!extension_loaded('json')) { include_once("aur.inc"); /** - * This class defines a remote interface for fetching data + * This class defines a remote interface for fetching data * from the AUR using JSON formatted elements. * @package rpc * @subpackage classes @@ -28,9 +28,6 @@ class AurJSON { * @return string The JSON formatted response data. **/ public function handle($http_data) { - // set content type header to json - header('content-type: application/json'); - // handle error states if ( !isset($http_data['type']) || !isset($http_data['arg']) ) { return $this->json_error('No request type/data specified.'); @@ -47,9 +44,14 @@ class AurJSON { // allow rpc callback for XDomainAjax if ( isset($http_data['callback']) ) { + // it is more correct to send text/javascript + // content-type for jsonp-callback + header('content-type: text/javascript'); return $http_data['callback'] . "({$json})"; } else { + // set content type header to app/json + header('content-type: application/json'); return $json; } } @@ -65,6 +67,8 @@ class AurJSON { * @return mixed A json formatted error response. **/ private function json_error($msg){ + // set content type header to app/json + header('content-type: application/json'); return $this->json_results('error',$msg); } |