fix content-type when sending jsonp

jsonp callback should have a content type of text/javascipt,
since it specifies a callback function wrapping json data,
and is not soley json data.

Signed-off-by: Loui Chang <louipc.ist@gmail.com>
This commit is contained in:
elij 2009-09-27 16:43:38 -07:00 committed by Loui Chang
parent 94b1e165e1
commit a6d5cb71a6

View file

@ -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);
}