1

我有一个调用 JavaScript 方法的按钮,如下所示:

processSelection = function(filename) {
  //alert('method reached');
   $.ajax({
      url: "sec/selectUsers.php",
      data: "filename="+filename,
      cache: false,
      dataType:'html',

      success: function(data) {
        //$('#uploader').html(data);
        $('#noUsers').sortOptions();
        values = $('#noUsers').children();

        for (i = 0; i < values.length; i++) {
          $(values[i]).bind('dblclick',switchUser); 
        }

        $('#addButton').bind('click',addSelection);
        $('#removeButton').bind('click',removeSelection);
        $('#submitButton').bind('click',addUsersToFile);
      },

      error: function (request, textStatus, errorThrown) {
          alert('script error, please reload and retry'); 
      }

   }); /* ajax */
}

它不会进入selectUsers.php脚本,也不会发布错误消息。当我单击“添加用户”按钮时,它什么也不做。其他方法:switchUserremoveSelectionaddSelectionaddUserstoFile已定义。

我对 JavaScript 和 php 相当陌生,并且已被分配在我们的网站上运行维护的这个项目。我的 php_error.log 也没有显示错误。如果有人对此特定问题或一般调试有任何建议,我将非常感激。

这是点击事件:

 <input type="button" value="add users" onclick="processSelection('<?=$drFile['name']?>')"/>

好的,

为了简化我的问题,我这样做了:

processSelection = function(){
              //alert('method reached');
               $.ajax({
                          url: "sec/testPage.php",
                          cache: false,
                          success: function() {
                                              alert('success');
                          },
                          dataType:'html',
                          error: function (request, textStatus, errorThrown) {
                              alert('script error, please reload and retry'); }
                     });

}

其中 testPage.php 只是一个包含一些值的表。

现在,当我单击按钮时,它显示“成功”,但从不显示 testPage.php

4

1 回答 1

0
dataType: 'HTML' 

据我所知,必须在你的成功方法之前。如果仍然不起作用,请尝试以下操作:

它不会显示测试页面,因为您没有在当前正文中附加任何内容。如果您在屏幕上看到“成功”,您的脚本就会成功执行。您需要做的就是如果您在 testPage 中生成了 html,将所有 html 分配给一个 php 变量,然后只回显它而不是像返回它一样

 echo $myhtmlgenerated 

和改变

 success: function() { ....

 success: function(result) { 
   $(body).append(result);
 }

或者您可以使用它并指定一个特殊的 div 来保存该页面的内容。

于 2012-09-05T17:54:06.737 回答