gpt4 book ai didi

javascript - 尝试使用 AJAX 和 PHP

转载 作者:行者123 更新时间:2023-11-30 18:02:11 24 4
gpt4 key购买 nike

我使用AJAX 的次数不多,但我一直在尝试做的是有一个表单,用户可以在其中输入数据,单击提交,而不是刷新页面以获得结果,一个模态窗口 打开并显示结果。我的理解是我需要使用 AJAX 才能正常工作。

以下是我到目前为止的代码。请注意,我只是想让 AJAX 调用先工作,稍后我会担心模态窗口。

目前,当点击提交按钮时,页面执行表单操作并转到 testauthcall.php,我的结果是 echo'd在空白页面上(我认为 return false; 应该终止页面加载?)。

HTML 文件:testauth.php

<form id="myForm" action="testauthcall.php" method="post"> 
Username: <input type="text" name="user" />
Password: <input type="text" name="pass" />
<input type="submit" value="Test Authentication" />
</form>

Javascript 文件:testauth.php

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.js"></script> 
<script src="http://malsup.github.com/jquery.form.js"></script>

<script type="text/javascript">

var frm = $('#myForm');
frm.submit(function () {
$.ajax({
type: frm.attr('method'),
url: frm.attr('action'),
data: frm.serialize(),
success: function (data) {
alert('ok');
}
});
return false;
});

<script>

PHP 文件:testauthcall.php

require_once('variables/radius.class.php');

if ((isset($_POST['user'])) && ('' != trim($_POST['user'])))
{
$radius = new Radius('xxx.xxx.xxx.xx', 'xxxxxxxxxx');

if ($radius->AccessRequest($_POST['user'], $_POST['pass']))
{
$authresult = "<strong>Authentication accepted.</strong>";
echo $authresult;
}
else
{
$authresult = "<strong>Authentication rejected.</strong>";
echo $authresult;
}
}

最佳答案

所以你的问题是页面正在重新加载,即使它不应该重新加载?我假设你正在使用 jQuery?尝试像这样编写您的表单提交处理程序:

frm.submit(function (e) {
if (e) {e.preventDefault()};
//...
});

据我所知,仅当您以老式方式附加处理程序时,返回 false 才有效,在 jQuery 中,您必须显式抑制由表单提交触发的事件的默认操作。

关于javascript - 尝试使用 AJAX 和 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16685126/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com