Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Jquery返回ObjectObject,前两个字段按预期返回_Php_Ajax_Forms_Jquery - Fatal编程技术网

Php Jquery返回ObjectObject,前两个字段按预期返回

Php Jquery返回ObjectObject,前两个字段按预期返回,php,ajax,forms,jquery,Php,Ajax,Forms,Jquery,我想知道是否有人能帮我,因为我今天在谷歌上搜索了很长一段时间,还没有找到任何解决我问题的方法。 我看过的网站提到这是因为它返回了JSON,但他们在所有字段上都得到了JSON,而不仅仅是一个字段。 但我不明白的是,为什么前两个字段不一样呢?因此我感到困惑 我正在提交一个登录表单,使用Jquery和AJAX(我知道这一点) 前两个字段(email和pass)按预期提交和返回。 出于测试目的,我只需在中返回它们的值 我还有第三个字段,用于防止CSRF,名为“t”(将其命名为随机名称,以查看这是否是问题

我想知道是否有人能帮我,因为我今天在谷歌上搜索了很长一段时间,还没有找到任何解决我问题的方法。 我看过的网站提到这是因为它返回了JSON,但他们在所有字段上都得到了JSON,而不仅仅是一个字段。 但我不明白的是,为什么前两个字段不一样呢?因此我感到困惑

我正在提交一个登录表单,使用Jquery和AJAX(我知道这一点)

前两个字段(email和pass)按预期提交和返回。 出于测试目的,我只需在
中返回它们的值

我还有第三个字段,用于防止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,你的答案仍然有效。没问题。每个人都会这样:)