проблемка с объектом, POST запрос Ajax
Привет всем! Изучаю jQuery. Написал объект LOGIN, в методе load() есть ajax-запрос (post). Дело в том, что страница обновляется, как будто запрос синхронный. Сервер ничего не возвращает. Подскажите, пожалуйста, в чем суть проблемы. Спасибо :yes:
Замечания: 1. Код на сервере верный, проверял низкоуровневыми запросами. 2. Firebug показывает, что данные из js скрипта отправляются корректно, но ответа от сервера нет.
var LOGIN = {
running: false,
container: "#log_comments",
container2: "#center_right",
url: "scripts/log_add.php",
delay: 1000,
attempts: 3,
reset: function() {
this.delay = 1000;
this.attempts = 3;
},
load: function() {
//снижаем нагрузку
if(this.running == true) {
return;
}
this.running = true;
var _login = this;
$.ajaxSetup({
timeout: 15000
});
//запрос
$.ajax({
type: "POST",
url: this.url,
data: $("#login_form").serialize(),
//прелоадер
beforeSend: function() {
$(_login.container).show().html("<img src='images/preloader.gif' alt=''>");
},
//ошибка
error: function(xhr,status) {
if(_login.attempts-- == 0) {
_login.reset();
return;
}
setTimeout(function() {_login.load();}, _login.delay *= 2);
},
//успех
success: function(show_data) {
_login.display(show_data);
},
//завершение
complete: function() {
_login.running = false;
}
});
},
//отображение
display : function(show_data) {
var log_div = $("#log_comments");
var menu = this.container2;
log_div.hide();
if (show_data == 1) {
log_div.html("<font color='#e80707' style='background-color: #FFE4E1;\
font-size: 12px; border: 1px dashed #e80707;'>\
Неправильный логин/пароль </font>").fadeIn('normal');
setTimeout(function() {log_div.fadeOut('normal')},4000);
}
}
};
|
Ап теме, проблемку до сих пор не решил.. :help:
На всякий случай код сервера:
<?php
session_start();
require_once 'config.php'; // коннект
$link = @mysql_connect($config['mysql_host'].":".$config['mysql_port'], $config['mysql_login'], $config['mysql_password']) or die ($server['errorText']);
@mysql_select_db($config['mysql_db'], $link) or die ('Найти базу с таким именем не удалось!');
error_reporting(0);
Header("Content-Type: text/javascript; charset=windows-1251");
mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");
$login_temp = mysql_real_escape_string($_POST['log_login']); //преобразование данных
$login = htmlspecialchars($login_temp,ENT_QUOTES);
$pass_temp = mysql_real_escape_string($_POST['log_pass']);
$pass = htmlspecialchars($pass_temp,ENT_QUOTES);
$pass_code = base64_encode($pass);
$account = mysql_query("SELECT * FROM `users` WHERE `Username` = '$login' ",$link); //непосредственно логин
$row = mysql_fetch_array($account);
if($row && $row['Password'] == $pass_code && $row['Username'] == $login && ereg("^([a-zA-Z0-9_-])*$",$login)) {
$_SESSION['lettbox_log'] = $login;
echo $login.":".$row['Sent_messages'].":".$row['Received_messages'].":".$row['Points'];
mysql_close($link);
exit();
}
else {
echo "1"; mysql_close($link); exit();
}
?>
|
| Часовой пояс GMT +3, время: 06:23. |