内部使用.ajax()的两个函数不能一起工作

时间:2014-04-30 17:33:41

标签: javascript jquery html ajax

在我的JS文件中,我有两个功能:

function A () {
  ...
    $.ajax({
      type: "POST",
      url: "page.php",
      data: {<some data>}
    })
    .done(function( data ) {
      ...
    })
  ...
}

function B () {
  ...
    $.ajax({
      type: "POST",
      url: "page.php",
      data: {<some other data>}
    })
    .done(function( ) {
      ...
    })
}

这些函数都是由某些锚点的 onclick 事件调用的。所以,在 html 文件中的某处我有这样的代码:

<a onclick="A()">Link to call A()</a>
<a onclick="B()">Link to call B()</a>

当我的代码中只有功能A 时,一切正常。但是,当我在上面看到的代码中使用它们时,这些功能都不起作用。当我点击链接 onclick =&#34; A()&#34; 功能A 甚至没有被调用。

有什么问题?我该如何解决?

3 个答案:

答案 0 :(得分:0)

如果在单击按钮时调用该函数,请删除$(document).ready(位。当用户点击按钮时,文档就绪已经过了 - 这是一个在页面加载时运行的事件。

答案 1 :(得分:0)

function A () {
  ...
    $.ajax({
      type: "POST",
      url: "page.php",
      data: {<some data>}
    })
    .done(function( data ) {
      ...
    });
  ...
}

function B () {
  ...
    $.ajax({
      type: "POST",
      url: "page.php",
      data: {<some other data>}
    })
    .done(function( ) {
      ...
    });
}

答案 2 :(得分:0)

按如下所示编写。这样,您的函数将在文档就绪时调用,您也可以按需调用它们。

function A () {
    $.ajax({
        type: "POST",
        url: "page.php",
        data: {}
    })
    .done(function (data) {
    });
}

function B () {
    $.ajax({
        type: "POST",
        url: "page.php",
        data: {}
    })
    .done(function () {
    });
}

$(document).ready(A);
$(document).ready(B);