質問編集履歴
2
Javascriiptを修正しました
title
CHANGED
File without changes
|
body
CHANGED
@@ -16,7 +16,7 @@
|
|
16
16
|
|
17
17
|
```javascript
|
18
18
|
|
19
|
-
function getAjax
|
19
|
+
function getAjax(controller, action, param){
|
20
20
|
var url = "../testController/getOtherHtml";
|
21
21
|
var data = {controller: controller, action: action, param: param};
|
22
22
|
|
@@ -81,5 +81,20 @@
|
|
81
81
|
</html>
|
82
82
|
```
|
83
83
|
|
84
|
+
```json
|
85
|
+
<script>
|
86
|
+
var result = getAjax("targetController", "targetView", 1);
|
87
|
+
console.log(result);
|
88
|
+
</script>
|
89
|
+
|
90
|
+
responseJSON : {
|
91
|
+
<html>
|
92
|
+
<body>
|
93
|
+
<!-- targetTableの中身 -->
|
94
|
+
</body>
|
95
|
+
</html>
|
96
|
+
}
|
97
|
+
```
|
98
|
+
|
84
99
|
###補足情報(言語/FW/ツール等のバージョンなど)
|
85
100
|
CakePHP 3.4.12
|
1
Javascriptのソースを追記しました
title
CHANGED
File without changes
|
body
CHANGED
@@ -3,12 +3,7 @@
|
|
3
3
|
CakePHPで各Controllerのaction結果のHTMLを取得して
|
4
4
|
JSONで返す関数を作りたいと考えています。
|
5
5
|
|
6
|
-
JSのajaxで`http://localhost/Controller/view/param`で取得することも考えたのですが、
|
7
|
-
CakePHPの組み込みテストサーバーだと、クライアントから多重にリクエストしても受け付けずハングしてしまうようなので
|
8
|
-
実際にブラウザに表示された結果から取得するというのは
|
9
|
-
いずれにせよバグの温床になりかねない気がして辞めました。
|
10
|
-
|
11
|
-
|
6
|
+
独立したControllerを作成して、
|
12
7
|
コントローラー名、アクション名、渡したいデータを指定すると
|
13
8
|
そこで表示されるHTMLを返すような関数を作ろうとしています。
|
14
9
|
|
@@ -18,6 +13,29 @@
|
|
18
13
|
方法をご存知の方がおられたら是非教えてください。
|
19
14
|
|
20
15
|
###実現したいソースコード
|
16
|
+
|
17
|
+
```javascript
|
18
|
+
|
19
|
+
function getAjax = function(controller, action, param){
|
20
|
+
var url = "../testController/getOtherHtml";
|
21
|
+
var data = {controller: controller, action: action, param: param};
|
22
|
+
|
23
|
+
var result = $.ajax({
|
24
|
+
url : url,
|
25
|
+
type: "post",
|
26
|
+
dataType: "json",
|
27
|
+
data: data,
|
28
|
+
async: false
|
29
|
+
}).done(function (response) {
|
30
|
+
return response;
|
31
|
+
}).fail(function () {
|
32
|
+
return false;
|
33
|
+
});
|
34
|
+
|
35
|
+
return result['responseJSON'];
|
36
|
+
}
|
37
|
+
```
|
38
|
+
|
21
39
|
```php
|
22
40
|
|
23
41
|
class TestController extends AppController
|