[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Приём данных
antonhristovsky
Здравствуйте. Помогите сделать так, чтобы каждую секунду посылался запрос в БД и выводился материал на странице. Я пытался так:
function otvet()
{
var wall_message = $("#wall_message").val();

$.ajax({
type: "POST",
data: "wall_message=" + wall_message,
url: "/ajax/otvet",
dataType: "json",
success: function(data)
{
$(document).ready(function(){
$("#futeri").css('display','inline');

$("#fhfh").append(data.message);
});
}
}
)
}

setInterval(otvet, 1000);
public function action_otvet()
{
$adjaks = new Model_Adjaks();
$res = $adjaks->otvet();

echo json_encode(array('result' => $res));
}
public function otvet()
{
return DB::select()
->
from('wall')
->
execute()
->
as_array();
}




Спустя 2 минуты, 55 секунд (18.02.2012 - 20:29) nugle написал(а):
data.message
откуда ты вообще это берешь?

Спустя 16 минут, 43 секунды (18.02.2012 - 20:45) antonhristovsky написал(а):
Столбик в базе данных

Спустя 14 минут, 30 секунд (18.02.2012 - 21:00) nugle написал(а):
antonhristovsky
Цитата
Столбик в базе данных

так откуда он у тебя взялся в jquery?

Спустя 13 минут, 8 секунд (18.02.2012 - 21:13) Лена написал(а):
Не data.message, а просто data - данные, которые пришли после аякс-запроса.

Спустя 8 минут, 24 секунды (18.02.2012 - 21:21) antonhristovsky написал(а):
Всё равно не работает

Спустя 15 минут, 26 секунд (18.02.2012 - 21:37) Bodich написал(а):
url: "/ajax/otvet" это обработчик ?

Спустя 57 секунд (18.02.2012 - 21:38) antonhristovsky написал(а):
да

Спустя 1 минута, 4 секунды (18.02.2012 - 21:39) nugle написал(а):
antonhristovsky
поучи немного хотя бы php, а не лезь во фреймворки.
Потом по стадиям помогать просишь
нужно указывать физические пути, а не каталоги и не чпу ссылки

Спустя 2 минуты, 28 секунд (18.02.2012 - 21:41) Bodich написал(а):
url: "/ajax/otvet"
разве не нужно разширение ??? например url: "/ajax/otvet.php"

Спустя 5 минут, 50 секунд (18.02.2012 - 21:47) antonhristovsky написал(а):
otvet - это контроллер

Спустя 12 часов, 41 минута, 16 секунд (19.02.2012 - 10:28) antonhristovsky написал(а):
Ну так кто поможет?

Спустя 11 минут, 33 секунды (19.02.2012 - 10:40) redreem написал(а):
на данном уровне (уровне - где нет понимания сути вещей) только платно. 400 р.

Спустя 9 минут, 45 секунд (19.02.2012 - 10:50) antonhristovsky написал(а):
всмысле нет понимания?

Спустя 13 минут, 12 секунд (19.02.2012 - 11:03) redreem написал(а):
url: "/ajax/otvet", - правильно ли?
$(document).ready(function(){ - зачем?
$("#futeri").css('display','inline'); - зачем?
data.message - с какой стати мешать js и SQL?

ну и походу вылезут еще вопросы по всей видимости.

т.е. написать тебе рабочий пример - это 5 минут. а выяснять с тобой все эти мелочи - это час. поэтому и 400 р.

Спустя 5 минут, 12 секунд (19.02.2012 - 11:08) antonhristovsky написал(а):
Ну напиши мне пример а я уже сам сорентируюсь:)

Спустя 10 минут, 39 секунд (19.02.2012 - 11:19) nugle написал(а):
antonhristovsky
ну так ты заплати, тебе и напишут, я тебе уже раз 20 примеры кидал, ты отказываешься их разбирать, чето понял и новую тему создаешь, так как другое не понимаешь как под себя подстроить

Спустя 3 минуты, 55 секунд (19.02.2012 - 11:23) redreem написал(а):
вот пример. он 100% рабочий в рамках js, не анализируя что у тебя ходит от сервера (ну может мелкие синтаксические ошибки, которые сразу будут видны в консоли js и правяться при понимании сути за 1 сек.).

ответ "не работает" будет подразумевать что проблема уже не в js, а в сопряжении с серверной частью.


function otvet() {
if (requestInProcess) return; else requestInProcess = true;

var wall_message = $("#wall_message").val();

$.ajax({
type: 'POST',
data: 'wall_message=' + wall_message,
url: '/ajax/otvet',
dataType: "html", //если да данные в json, то их надо еще готовить как-то перед вставкой, поэтому предположу что данные html
success: function(data) {
d = data.responseText;
//$('#fhfh').append(d);
requestAcceptorEl.innerHTML = requestAcceptorEl.innerHTML + d;
//вариант с аппендом не совсем понятен, если нужно просто всунуть в блок произвольное содержимое
requestInProcess = false;
}
}
);
}

$(document).ready(function(){

$('#futeri').css('display','inline');

requestAcceptorEl = document.getElementById('fhfh');
requestInProcess = false;
requestInterval = setInterval(function() {otvet();}, 1000);

}


Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.