我对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;
}
?>
答案 0 :(得分:0)
尝试这样做:
抓住表单提交并通过Ajax进行POST,并删除表单中的操作,指向call.php,因此当您提交表单时,操作将转到call.php。
1/1/2017
&#13;
答案 1 :(得分:0)
尝试使用以下代码。
当您成功正确填写表单的所有字段并点击提交时,它会提示您使用js警报。 PHP to 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>";
答案 2 :(得分:0)
当您设置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示例的另一篇文章。试试吧。
Prevent Page Load on Jquery Form Submit with None Display Button