[Svn-src-all:4334] [version-2_13-dev 23248] #2440 APIの情報をJSONPで取得できるようにする

pineray admin @ mail.ec-cube.net
2013年 10月 22日 (火) 20:46:52 JST


Subversion committed to /home/svn/open 23248
http://svn.ec-cube.net/open_trac/changeset/23248
┌────────────────────────────┐
│更新者 :  pineray                                      │
│更新日時:  2013-10-22 20:46:51 +0900 (火, 22 10月 2013)│
└────────────────────────────┘

Log:
--------------------------------------------------------
#2440 APIの情報をJSONPで取得できるようにする

Changed:                      [U:修正,A:追加,D:削除]
--------------------------------------------------------
U   branches/version-2_13-dev/data/class/api/SC_Api_Utils.php
U   branches/version-2_13-dev/data/class/pages/api/LC_Page_Api_Json.php

変更: branches/version-2_13-dev/data/class/api/SC_Api_Utils.php
===================================================================
--- branches/version-2_13-dev/data/class/api/SC_Api_Utils.php	2013-10-18 02:49:18 UTC (rev 23247)
+++ branches/version-2_13-dev/data/class/api/SC_Api_Utils.php	2013-10-22 11:46:51 UTC (rev 23248)
@@ -192,9 +192,17 @@
 
     public function sendResponseJson($response_outer_name, &$arrResponse)
     {
-        header('Content-Type: application/json; charset=UTF-8');
-        $arrResponse['response_name'] = $response_outer_name;
-        echo SC_Utils_Ex::jsonEncode($arrResponse);
+        if (isset($arrResponse["callback"])) {
+            $callback = $arrResponse["callback"];
+            unset($arrResponse["callback"]);
+            header('Content-Type: application/javascript; charset=UTF-8');
+            $arrResponse['response_name'] = $response_outer_name;
+            echo $callback . "(" . SC_Utils_Ex::jsonEncode($arrResponse) . ")";
+        } else {
+            header('Content-Type: application/json; charset=UTF-8');
+            $arrResponse['response_name'] = $response_outer_name;
+            echo SC_Utils_Ex::jsonEncode($arrResponse);
+        }
     }
 
     public function sendResponsePhp($response_outer_name, &$arrResponse)

変更: branches/version-2_13-dev/data/class/pages/api/LC_Page_Api_Json.php
===================================================================
--- branches/version-2_13-dev/data/class/pages/api/LC_Page_Api_Json.php	2013-10-18 02:49:18 UTC (rev 23247)
+++ branches/version-2_13-dev/data/class/pages/api/LC_Page_Api_Json.php	2013-10-22 11:46:51 UTC (rev 23248)
@@ -64,6 +64,11 @@
         $arrParam = $_REQUEST;
 
         list($response_outer, $arrResponse) = SC_Api_Operation::doApiAction($arrParam);
+
+        if (isset($arrParam["callback"])) {
+            $arrResponse["callback"] = $arrParam["callback"];
+        }
+
         SC_Api_Operation_Ex::sendApiResponse('json', $response_outer, $arrResponse);
         SC_Response_Ex::actionExit();
     }




Svn-src-all メーリングリストの案内