![](/img/trans.png)
[英]Getting Error value when I try to send value from JavaScript to PHP with ajax post
[英]Why am i getting javascript and html code when using ajax to send and return value from php?
今天,我使用以下代码尝试了Ajax。 逻辑似乎是正确的,因为成功函数正在触发,但是我无法从php文件获取返回值,相反,当我警告响应时,我正在获取Javascript和html代码。
example1.php
<?php
echo $_POST['name'];
?>
<form action="?" method="post">
<input type="text" id="d1" name="name" value="">
<input type="text" id="d2" name="place" value="">
<input id="target" type="submit" name="submit" value="send">
</form>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
$("#target").click(function()
{
var data1=$("#d1").val();
var data2=$("#d2").val();
$.ajax
({
type:"POST",
url:"example1.php",
data:{name:data1,place:data2},
success:function(msg)
{
alert(msg);
}
});
return false;
});
});
</script>
当我运行example1.php时,它显示警告消息,如下所示。
<form action="?" method="post">
<input type="text" id="d1" name="name" value="">
<input type="text" id="d2" name="place" value="">
<input id="target" type="submit" name="submit" value="send">
</form>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
$("#target").click(function()
{
var data1=$("#d1").val();
var data2=$("#d2").val();
$.ajax
({
type:"POST",
url:"arithmetic.php",
data:{name:data1,place:data2},
success:function(msg)
{
alert(msg);
}
});
return false;
});
});
</script>
为什么我从example1.php而不是名称和位置值中获取此信息?
考虑到问题已更改的更新
您将发布到表单所在的文件,因此您的响应将在该页面中包含HTML代码。 您必须发布到另一个仅响应所需内容的PHP文件,或者将当前文件更改为在发布某些数据时做出不同响应。
您的ajax请求不会发送到response.php
,因为您告诉jQuery发布到其他URL:
url:"arithmetic.php",
将其更改为response.php。
为了确保始终使用ajax进行发布,您应该绑定到表单的submit
事件,而不是单击Submit按钮:
$('form').submit(function(e) {
// ajax stuff
// prevent default (submit)
return false;
});
使用当前代码,如果您将注意力集中在这些输入字段之一上,则按Enter即可提交不带ajax的表单。
如下更改您的响应代码。 编写响应后,您需要停止执行。
<?php
if(isset($_POST['name'])) {
echo $_POST['name'];
echo $_POST['place'];
exit(0);
}
?>
将网址更改为url:"response.php"
并像这样在responce.php中编写代码
$name=$_POST["name"];
$place=$_POST["place"];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.