ここにも同様の質問がたくさんあることは知っていますが、20件以上を検索して解決策はありませんでした。AJAXによってPHP POSTが送信されない
問題は次のとおりです。私はindex.phpにajaxポスト値を送ります。私がFirebugを見ると値はありますが、それをページにエコーしようとすると、POSTは空になります。私は本当にこれに固執しています。
<?php
if(isset($_POST['action']))
{
echo $_POST['action'];
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
<meta charset="utf-8">
<!-- JQUERY LIBRARY AND SCRIPTS -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
</head>
<body>
<a href="index.php">Test</a>
<script type="text/javascript">
$(document).ready(function()
{
$('a').on('click', function()
{
$.ajax({
url: 'index.php',
type: 'POST',
data: {action: 'clicked'},
success: function(data)
{
console.log(data);
alert('Done!');
},
error: function(jqXHR, textStatus, errorThrown)
{
alert(errorThrown);
}
});
return false;
});
});
</script>
</body>
</html>
あなたのブラウザに既にレンダリングされているページに変数を送信するためにAJAXを使用しています。変数を取得しているPHPがサーバー側で実行され、現在表示しているページではなく、AJAX経由で返されたため、これはうまくいかないでしょう。 –