質問編集履歴
1
ファイルを3つに分けたので、現状のソースを載せました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
ページを更新させずにjavascriptファイルからPHPファイルへの値渡しをしたくて、ajaxで非同期通信をしようとしているのですが、[null,null]という値しか渡ってきません。
|
2
2
|
successの場合にコンソールに「ajax通信に成功しました」と表示されるようにしていて、それは表示されているので通信はしているのだと思います。
|
3
3
|
どうすればjavascriptファイルの変数の値がPHPファイルで取得できるようになるでしょうか?
|
4
|
-
|
4
|
+
```PHP
|
5
|
-
|
5
|
+
index.php
|
6
6
|
<!DOCTYPE html>
|
7
7
|
<html>
|
8
8
|
<head>
|
@@ -10,10 +10,9 @@
|
|
10
10
|
<meta http-equiv="x-ua-compatible" content="IE=Edge" />
|
11
11
|
<meta name="viewport" content="width=device-width, user-scalable=no" />
|
12
12
|
<meta name="apple-mobile-web-app-capable" content="yes" />
|
13
|
-
|
13
|
+
<title>仮のタイトル</title>
|
14
|
+
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
|
14
15
|
|
15
|
-
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
|
16
|
-
<script src="http://code.jquery.com/jquery.js"></script>
|
17
16
|
<script type="text/javascript" src="main.js"></script>
|
18
17
|
<style type="text/css">
|
19
18
|
body {
|
@@ -21,33 +20,24 @@
|
|
21
20
|
padding: 0;
|
22
21
|
}
|
23
22
|
</style>
|
24
|
-
|
23
|
+
|
25
|
-
<?php
|
24
|
+
<?php
|
26
|
-
//ajax送信でPOSTされたデータを受け取る
|
27
|
-
echo $post_data_1 = $_POST['post_data_1'];
|
28
|
-
echo $post_data_2 = $_POST['post_data_2'];
|
29
|
-
//受け取ったデータを配列に格納
|
30
|
-
$return_array = array($post_data_1, $post_data_2);
|
31
|
-
//ヘッダーの設定
|
32
|
-
header('Content-type:application/json; charset=utf8');
|
33
|
-
//「$return_array」をjson_encodeして出力
|
34
|
-
|
25
|
+
require("ajax.php");
|
35
|
-
|
36
|
-
?>
|
26
|
+
?>
|
37
|
-
|
27
|
+
|
38
28
|
</head>
|
39
29
|
<body>
|
40
|
-
|
41
30
|
</body>
|
42
31
|
</html>
|
43
32
|
```
|
44
|
-
|
33
|
+
```JavaScript
|
45
|
-
|
34
|
+
main.js
|
46
35
|
jQuery(function($){
|
47
36
|
//ajax送信
|
48
37
|
$.ajax({
|
49
|
-
url : "
|
38
|
+
url : "ajax.php",
|
50
39
|
type : "POST",
|
40
|
+
dataType:"json",
|
51
41
|
data : {post_data_1:"hoge", post_data_2:"piyo"},
|
52
42
|
error : function(XMLHttpRequest, textStatus, errorThrown) {
|
53
43
|
console.log("ajax通信に失敗しました");
|
@@ -59,4 +49,16 @@
|
|
59
49
|
}
|
60
50
|
});
|
61
51
|
});
|
52
|
+
```
|
53
|
+
```PHP
|
54
|
+
ajax.php
|
55
|
+
<?php
|
56
|
+
//ajax送信でPOSTされたデータを受け取る
|
57
|
+
$post_data_1 = $_POST['post_data_1'];
|
58
|
+
$post_data_2 = $_POST['post_data_2'];
|
59
|
+
//受け取ったデータを配列に格納
|
60
|
+
$return_array = array($post_data_1, $post_data_2);
|
61
|
+
//「$return_array」をjson_encodeして出力
|
62
|
+
echo json_encode($return_array);
|
63
|
+
?>
|
62
64
|
```
|