![](/img/trans.png)
[英]Sending post request using ajax and load the data into the same php file
[英]Post variables to php file and load result on same page with ajax
我已经尝试了很多搜索,但似乎无法使任何工作正常。
我正在尝试制作一个将信息发送到PHP文件并在同一页面上显示PHP文件输出的表单。
到目前为止,我有:
HTML:
<html>
<form id="form">
<input id="info" type="text" />
<input id="submit" type="submit" value="Check" />
</form>
<div id="result"></div>
</html>
JS:
<script type="text/javascript">
var info= $('#info').val();
var dataString = "info="+info;
$('#submit').click(function (){
$.ajax({
type: "POST",
url: "/api.php",
data: dataString,
success: function(res) {
$('#result').html(res);
}
});
});
</script>
PHP:
<?php
$url = '/api.php?&info='.$_POST['info'];
$reply = file_get_contents($url);
echo $reply;
?>
当我将表单操作设置为api.php时,得到的结果就是我想要的。 基本上,我想要的是在“结果” div中看到与加载api.php时看到的相同的东西。
我无法获得任何解决方案。
您的click事件不会停止对服务器的页面请求的实际事务。 为此,只需添加“ return false;”即可。 直到您点击功能结束:
$('#submit').click(function (){
$.ajax({
type: "POST",
url: "/api.php",
data: dataString,
success: function(res) {
$('#result').html(res);
}
});
return false;
});
此外,您应该更新type="submit"
从提交按钮type="button"
或(但不能同时)的变化.click(
以.submit(
谢谢大家的帮助,我现在开始工作。
我做错了几件事:
我在php文件中使用单引号作为URL,也使用$ _POST ['']变量。
我需要添加return false; 正如史蒂夫指出的那样。
我没有输入元素的“名称”,只有一个ID。
我认为您的代码在填充dataString
之前先评估它。 尝试将其放入$.ajax
函数。 下面的代码。
/* ... */
$('#submit').click(function (){
$.ajax({
var info= $('#info').val();
var dataString = "info="+info;
/* ... */
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.