我想知道是否有人可以帮助我,因为我今天已经用谷歌搜索了很长时间,但还没有找到任何可以解决我的问题的方法。我看过的网站提到这是因为它返回 JSON,但他们在所有领域都得到它,而不仅仅是一个。但我不明白的是,为什么前两个字段也不行?因此我的困惑
我正在提交一个登录表单,使用 Jquery 和 AJAX(我知道这一点)。
前两个字段(email 和 pass)提交,并按预期返回。出于测试目的,我只是在<span id="loginresponse"></span>
.
我有第三个字段,以防止 CSRF,称为“t”(将其命名为随机名称,看看这是否是问题 - 我仍然得到 [object Object] 返回)。<input type="hidden" name="t" value="RandomToken"/>
提交表单时,我希望它返回我在字段中输入的内容 - “电子邮件、密码和随机令牌”。相反,我得到了电子邮件,传递,[对象对象]。
这是我的 DoLogin 函数,在提交表单时调用。
function DoLogin()
{
var Email = $("#email").val();
var Pass = $("#pass").val();
var LoginResponse = $("#loginresponse");
var T = $("#t");
var EmailPlaceholder="Email address";var PassPlaceholder="Your password here";
$.get('path/to/login_ajax.php?email='+Email+'&pass='+Pass+'&t='+T, function(data)
{
$('#loginresponse').html(data);
});
/*if(Email != EmailPlaceholder && Pass != PassPlaceholder && Email != "" && Email != " " && Pass !="" && Pass != " ")
{
}*/
}
这是我的 HTML 表单:
<form action="javascript:DoLogin();" method="post"><!--Also tried changing method to GET, still got the same problem -->
<input id="email" class="inputemail" type="text" name="email" size="40" value="Email address" onclick="$(this).val('');"/><span>Your email</span><br/>
<input id="pass" class="inputpassword" type="password" name="pass" size="40" value="Your password here" onclick="$(this).val('');"/><span>Your password</span><br/>
<input id="t" type="hidden" name="t" value="RandomToken"/>
<input class="indexsubmit" type="submit" value="Login"/>
</form>
<span id="loginresponse"></span>
最后,login_ajax.php
<?php
echo $_GET['email'].$_GET['pass'].$_GET['t'];
?>
如上所述 - 我只是回显结果,因为我知道 Jquery 和 AJAX,所以我想检查所有字段是否按预期返回值,而一个不是......令牌字段.