JQuery.ajax()方法没有执行

时间:2012-08-16 16:42:24

标签: php javascript jquery web-applications

我有一个调用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脚本,也不会发布错误消息。当我点击我的按钮时,添加用户&#39;它什么都不做。其他方法: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

1 个答案:

答案 0 :(得分:0)

dataType: 'HTML' 
据我所知,

必须在你的成功方法之前。如果仍然无效,请尝试以下方法:

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

那样返回它
 echo $myhtmlgenerated 

并更改

 success: function() { ....

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

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