Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   AJAX обращение к файлу php и получение значения (https://javascript.ru/forum/jquery/16128-ajax-obrashhenie-k-fajjlu-php-i-poluchenie-znacheniya.html)

zeraid 27.03.2011 17:20

AJAX обращение к файлу php и получение значения
 
Собственно никак не пойму как это сделать.

Вот файл php:

<?php require("head.inc"); ?>


<?php
//require("host.inc"); //$connect отсюда
$tt = $row1->dt;

function dav_vod_k_1($row1){
$p1 = $row1->dav_vod_k_1;
//$p1_f = get_color_perem("dav_vod_k_1",$p1);
//$p1_link = $perems["dav_vod_k_1"]["link"];
return $p1;
}
echo dav_vod_k_1($row1);
?>


Вот файл JS (имейте в виду, что свой код я вставлюю уже в готовую библиотеку draw2d)

<script>
  var workflow  = new draw2d.MyWorkflow("paintarea");

  // switch on the snap to grid
  //
  workflow.setGridWidth(10,10);
  workflow.setSnapToGrid(true);

  // Add a hint annotation to the workflow area
  $.ajax({
   type: "POST",
   url: "mnemo_1.php",
   data: "func=1",
   success: function(res){alert(res);},
   error: function(){alert('Problem');}
 });
 
  //
  var annotation = new draw2d.Annotation( );
  
  annotation.setDimension(50,50);
  workflow.addFigure(annotation,200,200);

</script>


Моя задача:

каждые 3 сек делать аякс запрос к пхп файлу ВЫБИРАТЬ НУЖНУЮ ФУНКЦИЮ, выполнять ее и возвращать результат. В данном случае у меня одна функция при условии что func=1. (в данном коде я пока что убрал if...else в php файле для простоты. В общем помогите пжлст.

В интернете вчера весь день просидел но конкретные советы так и не нашел....

walik 27.03.2011 17:58

Цитата:

Сообщение от zeraid
каждые 3 сек делать аякс запрос к пхп файлу

setInterval позволяет выполнять код много раз, через равные промежутки времени.

zeraid 27.03.2011 18:00

Цитата:

Сообщение от walik (Сообщение 98176)
setInterval позволяет выполнять код много раз, через равные промежутки времени.

спасибо, но это я уже знаю. Меня интересует вообще как организовать то, что я написал выше. Можно даже на мой код внимание не обращать. Я написал его чтоб было в общем понятнее что мне нужно.

walik 27.03.2011 18:03

setInterval(function() {
     $.ajax({
          type: "POST",
           url: "mnemo_1.php",
          data: "func=1",
          success: function(res){alert(res);},
          error: function(){alert('Problem');}
     });
}, 3000);

zeraid 27.03.2011 18:09

Цитата:

Сообщение от walik (Сообщение 98179)
setInterval(function() {
     $.ajax({
          type: "POST",
           url: "mnemo_1.php",
          data: "func=1",
          success: function(res){alert(res);},
          error: function(){alert('Problem');}
     });
}, 3000);

спасибо для будущего поможет. Но почему у меня не выводит результат функции??? что вообще в поле success надо писать? КАК вывести результат функции, выполненной в пхп файле?

zeraid 27.03.2011 23:17

Так вроде уже что то выводить начал. но что то не то:


<head>
  <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
  </head>


выводит вот такое в ответе. Содержание файлов нынче такое:

PHP


<?php
$p1 = $row1->dav_vod_k_1;

echo $p1;
?>


JS

$.ajax({
   type: "GET",
   url: "/scadatest/mnemo_1.php",
   dataType: "text",
   //data: "func=1",
   success: function(data){alert("data loaded:"+ data);},
   //error: function(){alert('Problem');}
   });


Почему такой странный ответ выдает? хотя долен просто число.

kostr 28.03.2011 12:44

А что такое $row1?

zeraid 28.03.2011 13:39

Цитата:

Сообщение от kostr (Сообщение 98266)
А что такое $row1?

это подключение к базе



$row1 = get_last_row(); //выбираем последнюю строку таблицы

zeraid 28.03.2011 14:46

Если писать вот так:

$.ajax({
   type: "POST",
   url: "/scadatest/mnemo_1.php",
   data: "func=1",
   success: function(data){document.write("data loaded:"+ data);},
   error: function(){alert('Problem');}
 });


то выводит data loaded: и висит. Точнее страницу грузить продолжает и ничего не происходит.


Часовой пояс GMT +3, время: 05:46.