diff options
Diffstat (limited to 'engine/lib/actions.php')
| -rw-r--r-- | engine/lib/actions.php | 12 | 
1 files changed, 11 insertions, 1 deletions
| diff --git a/engine/lib/actions.php b/engine/lib/actions.php index 4ccffd267..99e22e104 100644 --- a/engine/lib/actions.php +++ b/engine/lib/actions.php @@ -446,7 +446,17 @@ function ajax_forward_hook($hook, $type, $reason, $params) {  			$params['status'] = -1;  		} -		header("Content-type: application/json"); +		// Check the requester can accept JSON responses, if not fall back to +		// returning JSON in a plain-text response.  Some libraries request +		// JSON in an invisible iframe which they then read from the iframe, +		// however some browsers will not accept the JSON MIME type. +		if (stripos($_SERVER['HTTP_ACCEPT'], 'application/json') === FALSE) { +			header("Content-type: text/plain"); +		} +		else { +			header("Content-type: application/json"); +		} +  		echo json_encode($params);  		exit;  	} | 
