Ajax处理页面加载但不点击按钮

时间:2013-07-18 01:35:37

标签: javascript jquery ajax

我有一个ajax查询,如果我从onpageload调用它,但是如果我从按钮点击调用它,则没有。有什么理由吗?

编辑:我已根据要求添加了事件,请注意我已经调试了这个并且它正在进入AJAX但只是默默地跳过它。如果我添加一个,它将调用失败函数。

function detailsQuery(crn, semester, year, questionId, clickedButton)
{
    $.ajax({
                url: somebigurlwithnocallback (same domain),
                type: "GET",
                dataType: "json",

        success: function (data) {alert(data)}});
}

-

   $(function() {
        $(document).delegate(".button", "click", function(){detailsQuery(CRN,Semester,Year,QuestionID, this);});

    });


window.onload=(function() {detailsQuery(CRN,Semester,Year,QuestionID, this);});

3 个答案:

答案 0 :(得分:1)

您是否尝试检查点击事件是否有效?试试这段代码:

   $(".button").live("click", function(){ 

   function detailsQuery(crn, semester, year, questionId, clickedButton)
   {

   $.ajax({
            url: somebigurlwithnocallback (same domain),
            type: "GET",
            dataType: "json",

    success: function (data) {alert(data)}
          });

              });
                    });

答案 1 :(得分:0)

这似乎是Google Chrome的一个问题。如果修改HTML文件并仅刷新(即使使用ctrl + f5),Chrome也无法始终正确处理修改后的AJAX调用。我无法访问服务器端代码,所以我无法看到那里发生了什么,因为'GET'不是很多可以继续。我只能看到它返回'错误'。关闭镀铬并重新打开可以解决问题。为什么只有在点击按钮时发生AJAX才会发生。

答案 2 :(得分:0)

这样做:
变化


   $(function() {
        $(document).delegate(".button", "click", function(){detailsQuery(CRN,Semester,Year,QuestionID, this);});

    });


  $(document).ready(function(){
    $(".button").bind({"click": function(){
       function(){detailsQuery(CRN,Semester,Year,QuestionID, this);}
        } 
     });
});

那应该解决这个问题。

希望解释清楚,这有帮助。