Не понимаю, почему не передаются данные методом post через ajax-запрос, до серверной части скрипт доходит и php файл срабатывает, однако данные уже в самом ajax почему то не передаются. html:
<form action="" method="post" id="form_chat">
<!-- ????????? ?????????? ???? -->
<div class="modal-header modal-window-chat-header">
<div class="pull-left">
<img class="img-circle chat-avatar" src="<?=SITE.$data['user_data']['img_src']?>" /> Chat with <?=$data['author_news']?>
</div>
<div class="pull-right">
<button type="button" class="btn btn-sm btn-primary" data-dismiss="modal" aria-hidden="true"><i class="fa fa-close"></i>x</button>
</div>
<div class="clear"></div>
</div>
<!-- ???????? ?????????? ?????????? ???? -->
<div class="modal-body modal-window-chat-body">
<div class="col-sm-12 window_messages"></div>
<div class="col-sm-12 form-group input-group">
<input type="hidden" class="id_user_to" name="id_user_to" value="<?=$data['user_data']['id']?>" />
<input type="hidden" class="id_user_from" name="id_user_from" value="<?=$data['user_auth_id']?>" />
<textarea class="textarea_chat" name="text_chat"></textarea>
</div>
<input class="btn btn-default chat-button" type="button" name="send_message" value="Send" />
</div>
</form>
javascript:
$(document).ready(function () {
//Функция отправки сообщения
function send_message()
{
//Считываем сообщение из поля ввода
var text_chat = $(".textarea_chat").val();
var id_user_to = $(".id_user_to").val();
var id_user_from = $(".id_user_from").val();
// Отсылаем паметры
$.ajax({
type: "POST",
url: "index.php?route=chat/add_message",
data:{
'action':'add_message',
'id_user_to': id_user_to,
'id_user_from': id_user_from,
'textarea_chat': text_chat
},
// Выводим то что вернул PHP
success: function(html)
{
alert(html);
//Если все успешно, загружаем сообщения
load_messages();
//Очищаем форму ввода сообщения
$(".textarea_chat").val('');
}
});
}
//Функция загрузки сообщений
function load_messages()
{
$.ajax({
type: "POST",
url: "index.php?route=chat/load_messages",
data: "req=ok",
// Выводим то что вернул PHP
success: function(html)
{
//Очищаем форму ввода
$("#messages").empty();
//Выводим что вернул нам php
$("#messages").append(html);
//Прокручиваем блок вниз(если сообщений много)
$("#messages").scrollTop(90000);
}
});
}
// отправка сообщений при нажатии кнопки "Ответить"
$('.chat-button').click(function()
{
send_message();
});
// проверяем наличие новых сообщений каждые 2 секунды
/*setInterval(function()
{
get_chat_messages();
}, 2000);*/
// отправка сообщений при нажатии клавиши "Enter"
$('.textarea_chat').keyup(function(event)
{
if (event.which == 13)
{
send_message();
}
});
});
и php обработчик:
function action_add_message () {
if ($_POST['action'] == 'add_message') {
$_POST = trim($_POST);
$_POST = mysql_real_escape_string($_POST);
$_POST = htmlspecialchars($_POST);
/*$addMessage = array (
'id_user_to' => $_POST['id_user_to'],
'id_user_from' => $_POST['id_user_from'],
'message_text' => $_POST['textarea_chat'],
'date_message' => time()
);
$this->model_chat->AddMessages($addMessage);*/
echo "111 ".$_POST['id_user_to'].", ".$_POST['id_user_from'].", ".$_POST['textarea_chat'];
}
}
при нажатии на кнопку send отправка идет и код на php обрабатывается НО методом post, с ajax почему-то не передаются данные
вопрос решен, вся причина была в этом отрывке php
$_POST = trim($_POST);
$_POST = mysql_real_escape_string($_POST);
$_POST = htmlspecialchars($_POST);
изменил способ проверки $_POST
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Здравствуйте! Есть ряд картинок (галерея), подскажите как сделать так чтобы при нажатии на картинку всплывал запрос на удаления и после одобрения...
Дается задание на php, квадратные скобки убрал с помощью регулярных выраженииНапишите скрипт, который выявляет слова в квадратных скобках...