這是FAR中我遇到過的最奇怪的問題。由於代碼是完美的,我完全感到困惑。我測試了一百種不同的東西,它歸結爲ajax文章到php文件之間的東西。Jquery使用字母「rc」的Ajax數據不發送到php
「logged_lg」輸入是用戶名。除了以「rc」開頭的登錄外,每個登錄都是有效的。巧合的是,我的名字首字母是「rcs」,所以你可以看到我是如何遇到這種情況的。我認爲這是由於我的平臺上有多個帳戶,但我全部刪除了它們,並且沒有一個帳戶內部包含「rc」。我將重申,只有開頭字母「rc」或「RC」或「rC」等,才能使此功能無法通過。 beforesend函數不斷顯示加載器。
請保留在我的地址我沒有發佈明顯的原因,所有的代碼。
var formData = {
'ldata' : $('input[name=logged_lg]').val(),
'password' : $('input[name=password]').val()
};
$.ajax({
type : 'POST', // define the type of HTTP verb we want to use
url : '/log-in/logchk.php', // the url where we want to POST
data : formData, // our data object
dataType : 'json', // what type of data do we expect back from the server
encode : true,
beforeSend: function(){
$(".form_info .error").hide();
$(".form_info").show();
$(".form_info .loader").show();
}
}
這是從PHP文件。
$lgfroto = mysql_real_escape_string($_POST['ldata']);
$hdmain_lg = mysql_real_escape_string($_POST['password']);
即使當我更換了lgfroto值以「rcsnooks」作爲一個用戶,在登錄工作。我也有錯誤處理程序的工作,我試過。
if ($lgfroto == "rc"){
$errors['email'] = 'is rc.';
}
我在rc中輸入字段以查看它是否會通過,但它不會通過beforesend函數。任何其他角色的工作。
下面是表單代碼的一些(重要部分),我看不出會發生什麼錯誤,但只是你可以看到。
<form id="form" action="/log-in/logchk.php" method="post" enctype="multipart/form-data">
<div id="email-group">
<div class="input_row">
<input type="text" tabindex="1" value="Username or Email" name="logged_lg" class="input_text idleField">
</div>
</div>
<div id="pw-group">
<div class="input_row pw_it">
<input type="text" tabindex="1" value="Password" name="password" class="input_text idleField pw_it">
</div>
那麼'$ .ajax'中的'encode'選項是什麼? – adeneo
另外,你需要在ajax調用中附加一個'done'和'fail'函數,並且控制檯記錄結果,看看爲什麼不發送請求 – adeneo
你看過發送給服務器的內容開發者控制檯中的網絡標籤?你看過答覆嗎? – epascarello