传递值时,Ajax文本到PHP会复制文本和按钮

时间:2014-03-07 11:56:59

标签: php ajax

我正在研究一些从文本输入中获取值并将其传递给php变量的ajax。我有以下代码做我想要的,但它重复文本输入和按钮时,它将值传递给PHP,我无法弄清楚为什么,任何想法:

<html><head><title>Ajax Example</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
function callAjaxAddition() {
  arguments0 = $("input[name='arg1']").val();
  $.ajax({
     type: "POST",
     url: "refresh.php",
     data: {arguments: arguments0},
     success: function(data) {
       $("#answer").html(data);    
    }
  });
  return false;
}
</script>
</head>
<body><div id="exampleForm">
     <input name="arg1" /><div id="answer"></div>
     <br />
     <button onClick="callAjaxAddition()">Click Me to Add</button>
</div>
<?php

if(isset($_POST['arguments']))
{
   $a = $_POST['arguments'];

   echo $a;
   var_dump($a);
}
?>
</body></html>

1 个答案:

答案 0 :(得分:1)

您正在向其中包含html代码的php文件发送请求。所以它呈现当前的html,它有文本框。你把它放在answer div中。这就是重复的原因。如果您向refresh.php发出请求,它不仅会响应整个页面echo $a;部分。创建一个像service.php

这样的单独页面

<强> service.php

<?php

if(isset($_POST['arguments']))
{
   $a = $_POST['arguments'];

   echo $a;
}
?>

在ajax电话中使用service.php