我想知道是否有人可以幫助我,因爲我有今天Google搜索了一段時間,並沒有找到任何解決我的問題。 我看過的網站提到它是因爲它返回了JSON,但它們在所有字段上獲取它,而不僅僅是一個。 但我不明白,爲什麼不是前兩個領域呢?因此,我的混淆jquery返回ObjectObject,前兩個字段按預期返回
我提交登錄表單,使用JQuery和AJAX(我知道這一點)。
前兩個字段(電子郵件和傳遞)提交併按預期返回。 出於測試目的,我只需返回它們的值<span id="loginresponse"></span>
。
我有第三個字段,以防止CSRF,稱爲't'(將其命名爲隨機名稱,看看這是否是問題 - 我仍然得到[object Object]返回)。 <input type="hidden" name="t" value="RandomToken"/>
提交表單時,我希望它將我輸入的內容返回到「電子郵件,通過和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,所以我想檢查是否所有的字段都按照預期返回值,並且一個不是...令牌字段。
感謝波阿斯,我知道這會是一些簡單的我遺漏了,這是我的一種傾向。我無法相信我忽略了這一點,儘管幾次掃描了這段代碼。 我已經接受了你的答案,因爲你是第一個,並解釋了爲什麼我的代碼不工作的原因,儘管我很欣賞@Luis,你的答案仍然有效。 – RobAtStackOverflow
沒問題。它發生在字面上*每個人* :) – Boaz