[英]PHP + AJAX Form Submit Not Working
我对AJAX的概念是完全陌生的,但是发现它对于完成我打算要做的事情是必需的。 基本上,我只需要它就可以在帖子发生时将php变量$ submitted设置为true,这反过来对我的数据库运行查询。 出于某种原因,尽管这段代码对我来说很有意义,但即使我收到“成功”警报并且没有控制台错误,也似乎并没有将它添加到ajax文件中。 有什么明显的错误吗?
<form action="call.php" method="post">
<input class="oomText" type="text" name="accountName" placeholder="Account Name"><br>
<input class="oomButton submit" type="submit" name="submit" value="submit">
<script>
$(document).ready(function(){
$('.oomButton.submit').click(function(){
var clickBtnValue = $(this).val();
var ajaxurl = '/ajax.php',
data = {'action': clickBtnValue};
$.post(ajaxurl, data, function (response) {
alert("Account Created");
});
});
});
</script>
</form>
AJAX.PHP
<?php
if (isset($_POST['action'])) {
switch ($_POST['action']) {
case 'submit':
submit();
break;
}
}
function submit() {
$submitted = true;
exit;
}
?>
尝试这样做:
捕获表单提交并通过Ajax进行POST,然后删除表单中的操作,即指向call.php,因此,在提交表单时,操作将移至call.php。
<form id="form" method="post"> <input class="oomText" type="text" name="accountName" placeholder="Account Name"><br> <input class="oomButton submit" type="submit" name="submit" value="submit"> <script> $(document).ready(function(){ $('#form').on('submit', function(e){ var clickBtnValue = $('.oomButton .submit').val(); var ajaxurl = 'http://clients.oomdo.com/provision/ajax.php', data = {'action': clickBtnValue}; $.post(ajaxurl, data, function (response) { alert("Account Created"); }); }); }); </script> </form>
请尝试在下面使用此代码。
当您成功正确填写表单的所有字段并单击Submit时,它将提示您js警报。 幸运的是,PHP到js并不总是需要ajax。 注意我如何将我的js放在php文件中。 我只是通过表单调用来运行整个过程。
mail($toaddress, $subject, $message, $headers);
$success=htmlspecialchars($_GET['to']);
$success=ucwords($success);
$valid= 'sent to' . ' ' . $success . ' ' . 'from a php server. Hit the back arrow' ;
echo "<script type='text/javascript'>alert('$valid');</script>";
设置PHP变量后,PHP脚本完成后它将消失。 但是,如果您使用PHP $_SESSION
变量,它将保持不变。
要使用PHP $_SESSION
变量,只需在所有PHP脚本的最顶部添加session_start()
。 请注意, session_start()
必须是第一条指令-如果发送了其他任何PHP标头, session_start()
将不起作用。
因此,请让您的其他PHP文件也测试$_SESSION['submitted']
变量(同样,首先需要session_start()
),以确保可以运行数据库插入。
HTML / JS:
<form action="call.php" method="post">
<input class="oomText" type="text" name="accountName" placeholder="Account Name"><br>
<input class="oomButton submit" type="submit" name="submit" value="submit">
</form>
<script>
$(document).ready(function(){
$('.oomButton.submit').click(function(){
var clickBtnValue = $(this).val();
var ajaxurl = 'http://clients.oomdo.com/provision/ajax.php',
data = {'action': clickBtnValue};
$.post(ajaxurl, data, function (response) {
alert(response);
});
});
});
</script>
AJAX.PHP
<?php
session_start();
if (isset($_POST['action'])) {
switch ($_POST['action']) {
case 'submit':
submit();
echo 'Hurrah';
}
}
function submit() {
$_SESSION['submitted'] = true;
}
?>
这是一个包含一些有用的AJAX初学者信息的帖子-它链接到另一篇包含一些简单AJAX示例的帖子。 试试看
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.