質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Ajax

Ajaxとは、Webブラウザ内で搭載されているJavaScriptのHTTP通信機能を使って非同期通信を利用し、インターフェイスの構築などを行う技術の総称です。XMLドキュメントを指定したURLから読み込み、画面描画やユーザの操作などと並行してサーバと非同期に通信するWebアプリケーションを実現することができます。

Q&A

解決済

5回答

30545閲覧

ajaxでのjavascriptファイルからPHPファイルへの値渡しがうまくいきません。

chibi

総合スコア20

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Ajax

Ajaxとは、Webブラウザ内で搭載されているJavaScriptのHTTP通信機能を使って非同期通信を利用し、インターフェイスの構築などを行う技術の総称です。XMLドキュメントを指定したURLから読み込み、画面描画やユーザの操作などと並行してサーバと非同期に通信するWebアプリケーションを実現することができます。

0グッド

2クリップ

投稿2017/03/21 20:49

編集2017/03/23 00:01

ページを更新させずにjavascriptファイルからPHPファイルへの値渡しをしたくて、ajaxで非同期通信をしようとしているのですが、[null,null]という値しか渡ってきません。
successの場合にコンソールに「ajax通信に成功しました」と表示されるようにしていて、それは表示されているので通信はしているのだと思います。
どうすればjavascriptファイルの変数の値がPHPファイルで取得できるようになるでしょうか?

PHP

1index.php 2<!DOCTYPE html> 3<html> 4<head> 5 <meta charset="UTF-8" /> 6 <meta http-equiv="x-ua-compatible" content="IE=Edge" /> 7 <meta name="viewport" content="width=device-width, user-scalable=no" /> 8 <meta name="apple-mobile-web-app-capable" content="yes" /> 9 <title>仮のタイトル</title> 10 <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 11 12 <script type="text/javascript" src="main.js"></script> 13 <style type="text/css"> 14 body { 15 margin: 0; 16 padding: 0; 17 } 18 </style> 19 20 <?php 21 require("ajax.php"); 22 ?> 23 24</head> 25<body> 26</body> 27</html>

JavaScript

1main.js 2jQuery(function($){ 3 //ajax送信 4 $.ajax({ 5 url : "ajax.php", 6 type : "POST", 7 dataType:"json", 8 data : {post_data_1:"hoge", post_data_2:"piyo"}, 9 error : function(XMLHttpRequest, textStatus, errorThrown) { 10 console.log("ajax通信に失敗しました"); 11 }, 12 success : function(response) { 13 console.log("ajax通信に成功しました"); 14 console.log(response[0]); 15 console.log(response[1]); 16 } 17 }); 18});

PHP

1ajax.php 2<?php 3//ajax送信でPOSTされたデータを受け取る 4$post_data_1 = $_POST['post_data_1']; 5$post_data_2 = $_POST['post_data_2']; 6//受け取ったデータを配列に格納 7$return_array = array($post_data_1, $post_data_2); 8//「$return_array」をjson_encodeして出力 9echo json_encode($return_array); 10?>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kei344

2017/03/23 02:43

回答が付いた質問の編集は慎重に行ってください。質問文のコードについて回答にて指摘があった場合は「追記」し、元のコードを編集する場合も「直したこと」がわかるようにしてください。
guest

回答5

0

ベストアンサー

修正

まずajaxの通信先と、jsを読み込んで実行するページは別にしてください。HTMLを表示するためのphpと、Ajax通信するためのphpが一緒のファイルだとわけの分からない動作になります。仮にAjax通信のためのファイルをajax.phpとして、ページ表示のためのファイルをindex.phpとして、Ajax通信を行うJavaScriptファイルをmain.jsとして下記に記述します。

index.php

HTML

1<!DOCTYPE html> 2<html> 3<head> 4 <meta charset="UTF-8" /> 5 <meta http-equiv="x-ua-compatible" content="IE=Edge" /> 6 <meta name="viewport" content="width=device-width, user-scalable=no" /> 7 <meta name="apple-mobile-web-app-capable" content="yes" /> 8 <title>仮のタイトル</title> 9 <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 10 <script src="http://code.jquery.com/jquery.js"></script> 11 <script type="text/javascript" src="main.js"></script> 12 <style type="text/css"> 13 body { 14 margin: 0; 15 padding: 0; 16 } 17 </style> 18</head> 19<body> 20 21</body> 22</html>

ajax.php

PHP

1<?php 2//ajax送信でPOSTされたデータを受け取る 3$post_data_1 = $_POST['post_data_1']; 4$post_data_2 = $_POST['post_data_2']; 5//受け取ったデータを配列に格納 6$return_array = array($post_data_1, $post_data_2); 7//ヘッダーの設定 8header('Content-type:application/json; charset=utf8'); 9//「$return_array」をjson_encodeして出力 10echo json_encode($return_array); 11 12?>

main.js

JavaScript

1jQuery(function($){ 2 //ajax送信 3 // ********************** 4 // URLをajax.phpにすること 5 // ********************** 6 $.ajax({ 7 url : "ajax.php", 8 type : "POST", 9 data : {post_data_1:"hoge", post_data_2:"piyo"}, 10 error : function(XMLHttpRequest, textStatus, errorThrown) { 11 console.log("ajax通信に失敗しました"); 12 }, 13 success : function(response) { 14 console.log("ajax通信に成功しました"); 15 console.log(response[0]); 16 console.log(response[1]); 17 } 18 }); 19});

あと、このAjaxの書き方はかなり古い時代の書き方です。jQuery1.8以降はこう書きます。

JavaScript

1$.ajax({ 2 url : "ajax.php", 3 type : "POST", 4 data : {post_data_1:"hoge", post_data_2:"piyo"} 5}).done(function(response, textStatus, xhr) { 6 console.log("ajax通信に成功しました"); 7 console.log(response[0]); 8 console.log(response[1]); 9}).fail(function(xhr, textStatus, errorThrown) { 10 console.log("ajax通信に失敗しました"); 11});

もう一点、よく見たらjQuery2回読み込んでるじゃないですか…1回で十分です。jQueryは2回以上読み込むとわけのわからない動作になります。たとえ同一バージョン、同一ファイルであってもです。

HTML

1<script src="http://code.jquery.com/jquery.js"></script>

この行を消してください。あと、こういった「外部のサイトのファイル」を勝手に使うのはご法度です。外部公開用のCDNや、googleapisの埋め込み用はいいですが、他者のサイトのjsを勝手に読み込んだりすると、そのサイトの人に不要なアクセス負荷がかかりますしやめましょう。

追記

AjaxでPHPにデータを飛ばしても、それは「Ajaxに対するレスポンス」が変わるだけで、現在表示されている「ページ」が変わるわけではありません。一般的に、TwitterやFacebookのように「ページの再読み込みをせずに、内容だけ書き換わっていく」処理は、更新するためのデータをPHPからもらいページの書き換えはJavaScriptで行います。
index.phpを元ページ、ajax.phpを更新データ用PHP、main.jsをページ更新用処理として説明します。

#index.php

HTML

1<!--省略--> 2<body> 3 <div id="response0"></div> 4 <div id="response1"></div> 5</body>

元ページにresponse0、response1というdivを記述しておくことで、ajaxからのレスポンスを入れる箱を用意します。

#ajax.php

PHP

1<?php 2//ajax送信でPOSTされたデータを受け取る 3$post_data_1 = $_POST['post_data_1']; 4$post_data_2 = $_POST['post_data_2']; 5//受け取ったデータを配列に格納 6//そのまま返すだけだと伝わりにくいので、文字を加工して返す 7$return_array = array("PHPに送られたpost_data_1:".$post_data_1, "PHPに送られたpost_data_2:".$post_data_2); 8//ヘッダーの設定 9header('Content-type:application/json; charset=utf8'); 10//「$return_array」をjson_encodeして出力 11echo json_encode($return_array); 12 13?>

AjaxからPHPに送られてきた値を元に、元ページに表示するためのデータをPHPの中で作成して、Ajaxにレスポンスとして返します。

#main.js

JavaScript

1 2jQuery(function($){ 3 //ajax送信 4 // ********************** 5 // URLをajax.phpにすること 6 // ********************** 7 $.ajax({ 8 url : "ajax.php", 9 type : "POST", 10 data : {post_data_1:"hoge", post_data_2:"piyo"} 11 }).done(function(response, textStatus, xhr) { 12 console.log("ajax通信に成功しました"); 13 14 //responseにはajax.phpが返したレスポンスが入っている 15 16 // 元ページのresponse0のdivに、PHPから返されたresponse[0]を入れる 17 $("#response0").text(response[0]); 18 19 // 元ページのresponse1のdivに、PHPから返されたresponse[1]を入れる 20 $("#response1").text(response[1]); 21 22 }).fail(function(xhr, textStatus, errorThrown) { 23 console.log("ajax通信に失敗しました"); 24 }); 25});

最後に、ajax通信で受け取ったレスポンスを使って、元ページを書き換えます。

#PHPの動作、JavaScriptの動作を理解していないようなので

PHPを事務員、ブラウザをあなたに例えて話をしましょう。

事務員さんにあなたはindex.phpという書類を紙に書いて自分に渡してくれと頼みました。事務員さんは自分の手元にあるindex.phpというお手本を元に、紙に書き込んであなたに渡しました(レスポンス)。その後、あなたは事務員さんに「ちょっとここ変えたいから書き直して」とお願いしても、PHPさんは事務処理上もう渡しちゃった紙(レスポンス)を書き直すことはできません。事務員さんに紙を書き直して、と頼むことはそれはすなわちブラウザのリロードです。部分的に書き換える処理がしたいのであれば、あなた(ブラウザ)の持つ修正用のペン(JavaScript)とajaxという手続きを使います。あなた(ブラウザ)は「じゃあこういうデータを渡すから、書き直す内容だけ教えて(ajax)」と頼みます。すると事務員さんはあなたから渡されたデータ(POSTデータ)を元に、書き直すべき内容をあなた(ブラウザ)に教えてくれます(Ajaxに対するレスポンス)。あなたは自分が使うことのできる修正用のペン(JavaScript)を使って、もらった内容を元に書き換えるのです。

投稿2017/03/22 00:59

編集2017/03/23 02:37
masaya_ohashi

総合スコア9206

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

chibi

2017/03/22 14:51 編集

回答していただきありがとうございます! htmlタグを取ったのですが、null,nullしか返って来ません。
chibi

2017/03/22 18:51 編集

再度の回答をいただきありがとうございます! Ajaxの書き方を修正し、Jqueryの宣言を1つにしましたが、null,nullが返って来ます。
chibi

2017/03/22 18:51 編集

ファイルも3つに分けたのですが、null,nullが返って来ます。
chibi

2017/03/22 16:24 編集

コンソールログを見ると、main.jsのresponse[0]とresponse[1]に、hogeとpiyoが来ていました! php側で受け取るにはどうすれば良いのでしょう?
chibi

2017/03/22 23:12

コンソールログでは"hoge","piyo"とちゃんと出るのに、phpではnull,nullと出ます。
masaya_ohashi

2017/03/23 00:48

ちょっと待ってください。もしかしていままでnull,nullが返ってくると言っているのはPHPの話だったのですか?
chibi

2017/03/23 01:47

はい。。。
guest

0

とりあえずこうしてみてください

HTML

1<?PHP 2if($_SERVER["REQUEST_METHOD"]=="POST"){ 3 $post_data_1 = filter_input(INPUT_POST,'post_data_1'); 4 $post_data_2 = filter_input(INPUT_POST,'post_data_2'); 5 $return_array = array($post_data_1, $post_data_2); 6 header('Content-type:application/json; charset=utf8'); 7 echo json_encode($return_array); 8 exit; 9} 10?> 11<!DOCTYPE html> 12<html> 13<head> 14<meta charset="UTF-8" /> 15<meta http-equiv="x-ua-compatible" content="IE=Edge" /> 16<meta name="viewport" content="width=device-width, user-scalable=no" /> 17<meta name="apple-mobile-web-app-capable" content="yes" /> 18<title>仮のタイトル</title> 19<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 20<script> 21$(function(){ 22 $.ajax({ 23 url : "index.php", 24 type : "POST", 25 data : {post_data_1:"hoge", post_data_2:"piyo"}, 26 error : function(XMLHttpRequest, textStatus, errorThrown) { 27 console.log("ajax通信に失敗しました"); 28 }, 29 success : function(response) { 30 console.log("ajax通信に成功しました"); 31 console.log(response[0]); 32 console.log(response[1]); 33 } 34 }); 35}); 36</script> 37<style type="text/css"> 38body { 39margin: 0; 40padding: 0; 41} 42</style> 43</head> 44<body> 45test 46</body> 47</html>

投稿2017/03/22 02:37

編集2017/03/22 02:37
yambejp

総合スコア114784

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

chibi

2017/03/22 14:40

回答いただきありがとうございます! すみません、よくわからないのですが、どちらか一方のファイルに全て書くのでしょうか…?
yambejp

2017/03/23 00:19

別に分けるのはかまわないけど、分けたら自分で動かせないんですよね? まずは動く状況までもっていってください 上記サンプルをindex.phpとして保存し参照すればとりあえず 動くことは確認できると思います。 もしこれが動かないようなら別途指摘ください
chibi

2017/03/23 00:43

index.phpで保存したのですが、echo json_encode($return_array);に何も出力されません。
yambejp

2017/03/23 00:49

> echo json_encode($return_array);に何も出力されません。 コンソールで表示されるのは「失敗」なのか「成功」なのかどちらでしょう?
chibi

2017/03/23 00:51

成功です。response[0]hoge,response[1]piyoも表示されています。
yambejp

2017/03/23 00:53

じゃ、あとはajaxの部分は外部ファイルにするなり好きにしてください
chibi

2017/03/23 00:55

PHPのechoに表示させるにはどうすればいいのでしょうか?
yambejp

2017/03/23 01:10 編集

echo なんかしたらajaxで要求された時jsonデータが返せないですけどよろしいんですか?
chibi

2017/03/23 01:18

すみません。ページを更新させずにJavaScriptからPHPに値を渡したかったのですが、ajaxのことがよく分かっていません…。JavaScriptファイルから送信した値をPHPで使いたいのですが…。
yambejp

2017/03/23 01:31

やりたいことを整理してください 命題ですと、index.phpは自分自身にたいしてajaxでpostして戻り値を得ています。現時点ではajaxの戻り値はconsoleで確認しています。 このどこに「JavaScriptファイルから送信した値をPHPで使いたい」が 介在してくるのかわかりません
chibi

2017/03/23 01:33

main.jsからajax.phpにajaxでPOSTしていて、PHPのechoで値を確認できないという質問なのですが
yambejp

2017/03/23 02:03

あらら?なんか元の質問が変わってますね 複数の回答がついている中で元の質問書き換えられちゃうと 質問と回答の整合性がとれないですわ 書くなら追記で修正してほしかった ajax.phpのechoを確認したいなら、ajaxで渡さずに単にformで おくってください index.phpのhtml部分に <form method="post" action="ajax.php"> <input type="text" name="post_data_1" value="hoge"> <input type="text" name="post_data_2" value="piyo"> <input type="submit" value="check"> </form> とかいて、サブミットすればajax.phpが反応してくれるでしょう
chibi

2017/03/23 02:25

formで送ると、ページがリロードされるのですが、ページをリロードせずに渡したいです。
chibi

2017/03/23 02:27

targetをiframeにすると、リロードはされないのですが、値が取得できなくなってしまいました。
chibi

2017/03/23 02:31

編集してしまってすみません。追記すればよかったです…。以前の状態から、ファイルを3つに分けたのですが、javascriptファイルからPHPファイルに値を送りたいという意図は変わっていません。
yambejp

2017/03/23 02:37

htmlの部分を <body> <div id="data"></div> </body> として、ajaxの表記の部分を success : function(response) { console.log("ajax通信に成功しました"); $('#data').text(response); } としてください。 ajaxを理解していないならこれ以上やっても無駄です。 一度基礎を学習してからトライされたほうがよいとおもいますよ
guest

0

echo $post_data_1 = $_POST['post_data_1'];

こういう書き方できたかな…?
とりあえずechoを取って普通に変数に入れて見たらどうでしょうか?

後いくつか疑問といいますか、直した方が良さそうなところがあったのだそれも追記しておきます。

1
jQueryが2つ読み込まれているので1つだけにした方がいいです。

2
多分ajaxの結果はjsonで出力したいのだと思いますので、htmlタグは不要なので取った方がいいと思います

投稿2017/03/21 23:23

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

chibi

2017/03/22 14:36 編集

回答していただきありがとうございます! ehoを取ってみましたが、状況変わらずです。 $post_data_1 = $_POST['post_data_1']; $post_data_2 = $_POST['post_data_2']; >jQueryが2つ読み込まれているので1つだけにした方がいいです。 1つにしてみましたが、null,nullしか渡ってきません。 <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> >2 多分ajaxの結果はjsonで出力したいのだと思いますので、htmlタグは不要なので取った方がいいと思います すみません。どこのhtmlタグのことでしょうか?また、出力できれば、jsonじゃなくても大丈夫です。
guest

0

イメージです。データを送信して帰ってくるhtmlをA、送られてきたデータを処理するPHPをBとします。AがBにhogeというデータを送るとします。Bはhogeを受け取り、それを使いPHPに書類のような形でhogeを出します。それをAが見てこんなのが来てるなということで、それを受け取りなんかするならします。Aが処理が終わったらBはそれを処分します。Bは書類を作って渡すという作業をするだけで、自分自身のところには何も残しません。なのでいくらBを見ても、Aの処理が終わった後なのでBには何も残っていません。Aから送られてきた時にBで何か障害が出ればエラー表示くらいしてくれるかもしれませんが、基本Bを見ても値が送られて来てるかわかりません。

投稿2017/03/22 23:40

toutou

総合スコア2050

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

chibi

2017/03/22 23:49

回答していただきありがとうございます。 ajax.phpの中で、受け取った値をechoするようにしていて、それがnull,nullなのですが値を出力するようにはできないのでしょうか?
toutou

2017/03/22 23:54

PHP側では見れません。理由は書いてある。
chibi

2017/03/22 23:57

htmlに出力することはできますか?
toutou

2017/03/23 00:01

出来ますよ。
chibi

2017/03/23 00:03

どうすればいいのか教えていただけませんか?
toutou

2017/03/23 00:04

console.logはできてるんですよね?どうするかわかりませんか?何にをconsole.logに出してるんですか?
chibi

2017/03/23 00:09

main.jsからajax.phpに"hoge""piyo"という値を送って、console.logには、response[0],response[1]を出しています。 PHPのechoで出力したいです。
toutou

2017/03/23 00:13

HTMLに出力する方法のことを言ってるんですが、なぜPHPに出力したいに変わったんですか?見れないって解答はしてあると思うんですが。
chibi

2017/03/23 00:15

JavaScriptからだと、htmlのソースは変わらないんじゃないですか?
toutou

2017/03/23 00:18

整理しましょうか。今質問されてるのはHTML側からPHPに送って処理してもらったあとHTMLに帰ってきた値を、HTMLに出力したいってことでいいんですよね?
chibi

2017/03/23 00:22

はい。
chibi

2017/03/23 00:22

JavaScriptからajaxで送信した値をHTMLに出力したいです。
chibi

2017/03/23 00:24

PHPで$_POST['post_data_1'];$_POST['post_data_2'];と書いて値を受け取れると思っていたのですが。
toutou

2017/03/23 00:25

response[0]をHTMLに出力するんですよね?
chibi

2017/03/23 00:25

はい。
toutou

2017/03/23 00:30

変数をHTMLに出力する方法は知ってますか?
chibi

2017/03/23 00:35

DOMでしょうか?
toutou

2017/03/23 00:38

そうですね。
chibi

2017/03/23 00:49

index.phpのhtmlに出力はできますか?
toutou

2017/03/23 00:51

話が無限ループするようならもう何も言いません。
guest

0

PHP は知らない自分がレスするのもなんですが(jQuery.ajax の方は多少分かりますが)・・・

data : {post_data_1:"hoge", post_data_2:"piyo"},

data として渡しているのは JavaScript オブジェクトですね。Web サーバーには JSON 文字列にシリアライズしてコンテンツに含めて渡したい(POST したい)のだと思いますが、そうだとするとそこは JavaScript オブジェクトではなく JSON 文字列にする必要があるのでは?

その理由は以下の記事を見てください。

jQuery.ajax の data の型
http://surferonwww.info/BlogEngine/post/2015/10/05/what-must-be-set-to-data-option-in-jquery-ajax.aspx

上の記事にも書いてありますが、Fiddler などのキャプチャツールを使って、要求ヘッダやコンテンツを見ると何かヒントが得られるかもしれません。

あと、contentType: "application/json; charset=utf-8" の設定がないとうまくいかないということが自分のケースではありました。

質問者さんのケースでは違うかもしれませんが、ご参考まで。

投稿2017/03/22 02:08

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/03/22 03:27 編集

kei344 さん> 紹介した記事にも書きましたが "It is converted to a query string, if not already a string. It's appended to the url for GET-requests." というところがポイントと思っているのですが違うのでしょうか? 自分が試した限りでは、POST 要求の場合も、data の変換の仕方は同じ(JavaScript オブジェクトはクエリ文字列形式に変換、文字列は無変換)になります。しかし、POST 要求はコンテンツとしてデータを送信しますので、GET 要求と違って data に設定するのは JavaScript はオブジェクトではダメで、JSON.stringify() で JSON 文字列に変換する必要がありました。 ただしそれは ASP.NET Web サービスとか WCF サービスの話で、PHP では application/x-www-form-urlencoded 形式に変換されたデータを POST するということでしたら話は別ですが・・・
kei344

2017/03/22 03:26 編集

すいません、「ASP.NET Web サービス」での実装については全くわからないのですが、提示したURLの「Examples:」を見てみて下さい。POSTでオブジェクトを渡しているのがわかると思います。具体的になぜ、ということには勉強不足のためはっきり答えられませんが、少なくともPHPに送る場合ではPOST時にオブジェクトを渡す方法で実装できると思います。
退会済みユーザー

退会済みユーザー

2017/03/22 03:44

提示いただいた URLの「Examples:」では application/x-www-form-urlencoded 形式に変換されたデータ(JSON 文字列ではなく)を POST することになるはずですが、その形式で受け取れるサービスも当然あるということのようですね。 自分は POST データは必ず JSON 文字列で受け取るという ASP.NET 頭なので視野が狭かったようです。
kei344

2017/03/22 03:56

ASP.NETはそうなのですね。application/x-www-form-urlencoded はForm要素の初期値なので、多くのサービス/言語で受け取れると思いますよ。 【HTMLタグ/フォームタグ/送信時のデータ形式を指定する - TAG index】 http://www.tagindex.com/html_tag/form/form_enctype.html
退会済みユーザー

退会済みユーザー

2017/03/22 04:07

すみません、誤解を招くことを書いてしまいました。 jQuery.ajax ⇒ REST ⇒ Web サービス/Web API/WCF ⇒ POST データは JSON 文字列・・・というように、jQuery.ajax から始まるとそういう発想になってしまうという自分の視野の狭さの問題です。 もちろん、ASP.NET でも、Web Forms/MVC では、application/x-www-form-urlencoded 形式は POST データを送信する際の標準です。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問