无法让AJAX获得工作调用,所以代码似乎是正确的

时间:2011-05-12 15:20:41

标签: php jquery ajax

在堆栈溢出的帮助下,修复了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...");
        }
      });
   });
});

view.php的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 个答案:

答案 0 :(得分:1)

关于jQuery的文档,您使用live()方法附加事件。在您的代码中,您将节点的click-method定义两次,我认为:一次使用live-attached-stuff,一次使用note。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("");
         }
      });
   });
});

答案 1 :(得分:0)

那到底是做什么的?什么元素不可见?您的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脚本的响应。