commit a1568a61e6ae60d7618b48fa3fdefe3e234d8b33
parent 1414cf1037c3a5b9471aea47589dc28afdec4a2f
Author: Felicitus <felicitus@felicitus.org>
Date: Sat, 17 Sep 2011 20:33:22 +0200
Added jsonp callbacks
Diffstat:
1 file changed, 11 insertions(+), 7 deletions(-)
diff --git a/frontend/service.php b/frontend/service.php
@@ -25,21 +25,25 @@ try {
$response["status"] = "ok";
$response["response"] = ServiceManager::call($request);
- echo json_encode($response);
-
} catch (de\RaumZeitLabor\PartKeepr\Util\SerializableException $e) {
$response = array();
$response["status"] = "error";
$response["exception"] = $e->serialize();
- echo json_encode($response);
} catch (\Exception $e) {
$response = array();
$response["status"] = "systemerror";
$response["exception"] = get_class($e);
$response["message"] = $e->getMessage();
$response["backtrace"] = $e->getTraceAsString();
-
- echo json_encode($response);
}
-?>-
\ No newline at end of file
+
+if (array_key_exists("type", $_REQUEST) && strtolower($_REQUEST["type"]) == "jsonp") {
+ if (array_key_exists("callback", $_REQUEST)) {
+ header('Content-Type: text/javascript');
+ echo $_REQUEST["callback"]."(".json_encode($response).")";
+ }
+} else {
+ header('Content-Type: application/x-json');
+ echo json_encode($response);
+}+
\ No newline at end of file