これは、同じページへの単一のjQuery.ajax
投稿を使用するページであり、正常に機能しています。
<?php
if (!isset($_POST['varA'])) {
?>
<html>
<head>
<script type="text/javascript">
$(document).ready(bingo);
function bingo()
{
jQuery.ajax({
type: "POST",
data: {varA: "123"},
success: function(data)
{
$("#test").html(data);
}
});
}
</script>
</head>
<body>
<span id="test"></span>
</body>
</html>
<?php
}
else
{
print_r($_POST['varA']);
}
?>
状況:別の別の変数を使用して設定したい別の変数がありますjQuery.ajax
。ただし、このようにまとめて配置すると、ページのコンテンツが複製されました。
悪い例(私がやろうとしていることを示しています)
<?php
if (!isset($_POST['varA'])) {
?>
<html>
<head>
<script type="text/javascript">
$(document).ready(bingo);
function bingo()
{
jQuery.ajax({
type: "POST",
data: {varA: "123"},
success: function(data)
{
$("#test").html(data);
}
});
}
function buttony() //added 2nd independent jQuery.ajax function
{
jQuery.ajax({
type: "POST",
data: {varB: "456"},
success: function(data)
{
$("#test2").html(data);
}
});
}
</script>
</head>
<body>
<span id="test"></span>
<span id="test2"</span> //added 2nd span
<input type="button" value="Clicky" onclick="buttony()"/> //added
</body>
</html>
<?php
}
else
{
print_r($_POST['varA']);
}
if(isset($_POST['varB'])) //added isset() checking
{
print_r($_POST['varB']);
echo 'varB Okay';
}
else
{
echo 'varB Not';
}
?>
追加情報jQuery.ajax
: 「悪い例」の両方の変数の投稿は正常に機能しています。
注:以下の画像は上記のコードからのものではなく、「コンテンツ自体が複製された」という意味の例にすぎません。
前
後
質問:jQuery.ajax
2 番目の関数とisset()
POST 変数のチェックをどこに配置すれば、両方のjQuery.ajax
関数が正しく機能し、互いに競合しないようにすることができますか?