【问题标题】:AJAX fails on second call to url and reloads the pageAJAX 在第二次调用 url 时失败并重新加载页面
【发布时间】:2018-07-05 11:36:03
【问题描述】:

我正在使用 AJAX 加载某些内容,它每次都适用于第一个请求,但如果使用相同的功能发出第二个请求,则站点会重新加载。 Chrome DevTools 中没有显示任何错误,请求永远不会显示在网络选项卡上,成功的 alert() 永远不会触发,但错误的也不会触发。

function loadEdit(name,info)
{
    alert(name + ' ' + info);
    $('#mainContent').fadeOut('slow', function() {
        $('#actionContent').fadeOut('slow', function() {
            $('#loadingContent').fadeIn('slow', function() {
    $.ajax({
     type: "GET",
     cache: false,
     url: '/adm/edit.php',
     data: {"name": name,"info": info},      
     error: function(result, status, err) {
        alert('HTTP ' + result.status + ' Error Encountered: ' + result.statusText);
        alert(result.responseText);
        alert('status: '+status+' error: '+err);
     },
     success: function(data) {
                alert('Success');
                $('#loadingContent').fadeOut('slow', function() {
                $('#actionContent').html(data);
                $('#actionContent').fadeIn('slow');

     });
     }

     });
    });
    });
    });
    menuClose();
}

更新: 该函数在页面上按下按钮时调用,示例如下:

<button onclick="loadEdit('grps','1')">EDIT</button>

【问题讨论】:

  • 请添加更多详细信息,例如调用 loadEdit 部分...
  • 是表单提交触发了这个功能吗?如果是这样,请在第一次提交后检查表单是否完好无损。可能是表单丢失了触发此功能的类或 id。
  • loadEdit() 怎么叫?
  • 对不起!在页面上按下按钮时调用 loadEdit()。
  • 如果页面重新加载,如果您没有设置“保留日志”,您将丢失所有网络信息。因此,请确保您激活它并查看是否有新的网络信息会有所帮助(您可以使用控制台进行操作)

标签: php jquery ajax


【解决方案1】:

按钮包含在表单中,需要向其中添加 type=button 以防止默认操作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-25
    相关资源
    最近更新 更多