не удается заставить AJAX заставить работать вызов, даже если код кажется правильным - PullRequest
0 голосов
/ 12 мая 2011

Хорошо, исправлен код jQuery с помощью других при переполнении стека

$(document).ready(function() {

   $(".note").live('click',function() {
      $("#note_utm_con").show();
      $("#note_utm_nt").html("<img src='http://www.ajaxload.info/images/exemples/4.gif' />");

      $.ajax({
         type: "GET",
         url: "view.php",
         data: "ajax=1&nid=' + parent.attr('id').replace('record-','')",
         success: function(html){
            $("#note_utm").html(html);
            $("#note_utm_nt").html("");
         },
         error: function (XMLHttpRequest, textStatus, errorThrown) {
            $("#note_utm_nt").html("<img src='http://www.ajaxload.info/images/exemples/4.gif' /> Error...");
        }
      });
   });
});

PHP-код для view.php

include 'object/db.class.php';

if($_GET['ajax'] == '1') {

#make a call to my sql to fetch some sort of ID

         $nid = $_GET['nid'];

         $q = mysql_query("SELECT * FROM `notice` WHERE nid = '".$nid."'");
         $a = mysql_fetch_array($q);

             $nid = stripslashes($a['nid']);
             $note = stripslashes($a['note']);
             $type = stripslashes($a['type']);
             $private = stripslashes($a['private']);
             $date = stripslashes($a['date']);
             $author = stripslashes($a['author']);

         $note_viewer .= <<<NOTE_VIEWER

         <h2>By: $author</h2> - <h2>$date</h2>
         <br/>
         <p>$note</p>
         <p>Request: $private</p>

NOTE_VIEWER;

             echo $note_viewer;


}

AJAX, кажется, работает сейчас, так как он дает мнеОшибка ...

Ответы [ 2 ]

1 голос
/ 12 мая 2011

относительно документа jQuery, вы присоединяете событие с помощью метода live () . Я думаю, что в своем коде вы определяете метод click для узла дважды: один раз с помощью live-attaching-материала и один раз с примечанием. click () . Так что не ясно, что делать при щелчке или лучше при щелчке по узлу, определяется событие click :-) Вы определяете два разных действия при нажатии на заметку ... попробуйте это:

$(document).ready(function() {

   $(".note").live('click',function() {
      $("#note_utm_con").show();
      $("#note_utm_nt").html("<img src='http://www.ajaxload.info/images/exemples/4.gif' />");

      $.ajax({
         type: "GET",
         url: "view.php",
         data: "ajax=1&nid=' + parent.attr('id').replace('record-',''),
         success: function(html){
            $("#note_utm").html(html);
            $("#note_utm_nt").html("");
         }
      });
   });
});
0 голосов
/ 12 мая 2011

Так что именно он делает? а какой элемент не виден? Ваш AJAX-вызов даже не использует ответ. Если я правильно понимаю вашу логику, это должно быть ...

$.ajax({
                   type: "GET",
                   url: "view.php",
                   data: "ajax=1&nid=' + parent.attr('id').replace('record-',''),
                   success: function(html){
                        $("#note_utm").html(html);
                        $("#note_utm_nt").html(html);
                   }
    });

переменная html в функции успеха является ответом от сценария php.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...