Php Jquery返回ObjectObject,前两个字段按预期返回
我想知道是否有人能帮我,因为我今天在谷歌上搜索了很长一段时间,还没有找到任何解决我问题的方法。 我看过的网站提到这是因为它返回了JSON,但他们在所有字段上都得到了JSON,而不仅仅是一个字段。 但我不明白的是,为什么前两个字段不一样呢?因此我感到困惑 我正在提交一个登录表单,使用Jquery和AJAX(我知道这一点) 前两个字段(email和pass)按预期提交和返回。 出于测试目的,我只需在Php Jquery返回ObjectObject,前两个字段按预期返回,php,ajax,forms,jquery,Php,Ajax,Forms,Jquery,我想知道是否有人能帮我,因为我今天在谷歌上搜索了很长一段时间,还没有找到任何解决我问题的方法。 我看过的网站提到这是因为它返回了JSON,但他们在所有字段上都得到了JSON,而不仅仅是一个字段。 但我不明白的是,为什么前两个字段不一样呢?因此我感到困惑 我正在提交一个登录表单,使用Jquery和AJAX(我知道这一点) 前两个字段(email和pass)按预期提交和返回。 出于测试目的,我只需在中返回它们的值 我还有第三个字段,用于防止CSRF,名为“t”(将其命名为随机名称,以查看这是否是问题
中返回它们的值
我还有第三个字段,用于防止CSRF,名为“t”(将其命名为随机名称,以查看这是否是问题所在-我仍然返回[object]<代码>
提交表单时,我希望它返回我在“电子邮件、通行证和随机令牌”字段中输入的内容。
相反,我收到电子邮件,通过[对象]
这是我的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>
您的电子邮件
您的密码
最后,登录_ajax.php
<?php
echo $_GET['email'].$_GET['pass'].$_GET['t'];
?>
如上所述-我只是回显结果,正如我对Jquery和AJAX所知,因此我想检查是否所有字段都按预期返回值,其中一个不是…令牌字段。您将输入元素的对象
t
,而不是元素的值链接到GET请求的查询字符串
你应该换一行
var T = $("#t"); // The object of the input element
对此
var T = $("#t").val(); // The value of the input element
您将输入元素的对象
T
,而不是元素的值链接到GET请求的查询字符串
你应该换一行
var T = $("#t"); // The object of the input element
对此
var T = $("#t").val(); // The value of the input element
也许你想要的是:
var T = $("#t").val();
也许你想要的是:
var T = $("#t").val();
谢谢波阿斯,我知道这会是我遗漏的简单的事情,我有这样做的倾向。我不敢相信我忽略了这一点,尽管我多次浏览了这段代码。我已经接受了你的答案,因为你是第一个,它解释了我的代码不起作用的原因,尽管我感谢@Luis,你的答案仍然有效。没问题。这确实发生在每个人身上:)谢谢波阿斯,我知道这是我遗漏的简单的事情,我有这样做的倾向。我不敢相信我忽略了这一点,尽管我多次浏览了这段代码。我已经接受了你的答案,因为你是第一个,它解释了我的代码不起作用的原因,尽管我感谢@Luis,你的答案仍然有效。没问题。每个人都会这样:)