JQuery.ajax() 方法未执行


JQuery.ajax() method not executing

我有一个按钮,可以调用一个看起来像这样的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

dataType: 'HTML' 

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

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

 echo $myhtmlgenerated 

和改变

 success: function() { ....

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

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