これは私がindex.htmlに持っているコードです:
<html>
<head>
<title>TODO supply a title</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width">
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script>
$.ajax({
type: "POST",
url: 'test.php',
data: "check",
success: function(data){
alert(data);
}
});
</script>
</head>
<body>
<div></div>
</body>
</html>
Test.phpをプログラミングして、AJAX APIで送信される「データ」を取得するにはどうすればよいですか?
ここで非常に基本的な質問をしています。最初にいくつかのAjaxチュートリアルを実行する必要があります。少しだけ助けるために(GETとPOSTデータの送信方法を知っていると仮定)、データの 'data': "check"は関数(data)の 'data'とは異なります。明確にするために、次のように異なる名前を付ける必要があります。
$.ajax({
type: "POST",
url: 'test.php',
data: "check",
success: function(response){
alert(response);
}
});
これにより、1つはtest.phpファイルにPOSTパラメーターで送信するデータであり、もう1つはtest.phpファイルの実行後に取得する応答であることがわかります。実際、test.phpに対するPOSTのデータパラメーターは、次のようなハッシュである必要があります(ここでは、キーを "type"として想定しています:
$.ajax({
type: "POST",
url: 'test.php',
data: {"type":"check"},
success: function(response){
alert(response);
}
});
明らかに、データにはもっと多くのキーとバルブのペアがあります。
したがって、test.phpファイルは次のようになります。
if(isset($_POST['type'])){
//Do something
echo "The type you posted is ".$_POST['type'];
}
この場合、アラートは「投稿したタイプはチェックです」と表示されます。これは、AJAX呼び出しで 'type'キーに送信する値に基づいて変わります。
あなたはこのように試すことができます
$.ajax({
type: "POST",
url: 'test.php',
data: {"data":"check"},
success: function(data){
alert(data);//This will alert Success which is sent as the response to the ajax from the server
}
});
そしてtest.phpで
if(isset($_POST['data']) && $_POST['data'] == 'check'){
//$_POST['data'] contain the value that you sent via ajax
//Do something
echo 'Success';
}
これをチェック 詳細
Jquery ajaxでより多くのデータを処理する場合。 JSONデータ型が好きです。
$.ajax({
type: "POST",
url: 'test.php',
dataType: 'json',
data: {"data":"check"},
success: function(data){
alert(data.value1);
alert(data.value2);
}
});
if(isset($_POST['data']) && $_POST['data'] == 'check'){
//Data 1
$data['value1'] = 'Data 1 Got Successfully';
//Data 2
$data['value2'] = 'Data 2 Got Successfully';
$resonse = json_encode($data);
echo $response;
}
あなたのHTMLは
<html>
<head>
<title>TODO supply a title</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width">
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script>
$.ajax({
type: "POST",
url: 'test.php',
data: {"myvar":"check",},
success: function(data){
alert(data);
}
});
</script>
</head>
<body>
<div></div>
</body>
</html>
データは配列であるため、変数とその値をデータで渡す必要があることに注意してください。データ内の複数の変数をコンマで区切って渡すことができます。
そして、test.phpで、ajaxから送信されたデータを選択します。
<?php
if(isset($_POST['myvar']))
{
$myVariable = $_POST['myvar'];
echo $myVariable; //This would output the string passed in ajax, check
}
?>
$ _POSTは、AJAX呼び出しで使用されるタイプに依存します。タイプがGETの場合、phpでは$ _GETになります。代わりに、$ _ REQUESTになり、 AJAX呼び出しはタイプGETまたはPOSTです。
$.ajax({//create an ajax request to load_page.php
type: "POST",
url: "test.php",
data:{"data":"check"},
success: function(data) {
if (data) {
alert(data);
}
else {
alert('Successfully not posted.');
}
}
});
Test.phpで
<?php
if(isset($_POST['data'])){
echo 'successful';
}
?>
PHPファイルの出力は、AJAX成功関数に送信されます。