pjax(defunkt) -> フォームの値の受け渡し
【環境】
jQuery:2.1.3
pjax(defunkt):1.9.4
jQuery:2.1.3
pjax(defunkt):1.9.4
GET
GET 渡しはすんなりできた。
- var url = 'index.php';
- var data = {
- name : $( 'input[name = "name"]' ).val(),
- value : $( 'input[name = "value"]' ).val()
- };
- $.pjax({
- url: url,
- type: 'GET',
- data: data,
- container: '#container',
- });
- // print_r( $_GET ); 結果
- Array
- (
- [name] => hoge
- [value] => 1
- )
JSON
dataType を json にしても、結果は同じ。
- $.pjax({
- url: url,
- type: 'GET',
- data: data,
- dataType: 'json',
- container: '#container',
- });
JSONP
dataType を jsonp にすると、2つばかり $_GET の値が増えた。。。
- $.pjax({
- url: url,
- type: 'GET',
- data: data,
- dataType: 'jsonp',
- container: '#container',
- });
- // print_r( $_GET ); 結果
- Array
- (
- [callback] => jQuery21309920695357463317_1424227516871
- [name] => hoge
- [value] => 1
- [_] => 1424227516872
- )
まぁ、JSON と JSONP のお勉強は今度ということで。 🙄
POST
- var url = 'index.php';
- var data = {
- name : $( 'input[name = "name"]' ).val(),
- value : $( 'input[name = "value"]' ).val()
- };
- $.pjax({
- url: url,
- type: 'POST',
- data: data,
- container: '#container',
- });
- // print_r( $_POST ); 結果
- Array
- (
- )
$_POST を取得できていない。
そして通信時間が長くなった。
dataType を text にしても、結果は同じ。
serialize()
data を serialize() にしても結果は同じ。
- var url = 'index.php';
- $.pjax({
- url: url,
- type: 'POST',
- data: $( 'form' ).serialize(),
- container: '#container',
- });
JSON, JSONP
dataType を json にしたら、通信すら行われなくなった。
JSONP にしても、通信は行われない。
- $.pjax({
- url: url,
- type: 'GET',
- data: data,
- dataType: 'json',
- container: '#container',
- });
困った
仕方ないので、今回は GET で対応。