Javascript jqueryajax赢得';不发送get请求,而是刷新页面

Javascript jqueryajax赢得';不发送get请求,而是刷新页面,javascript,jquery,ajax,Javascript,Jquery,Ajax,这段代码应该向预定义的url(包括变量)发送get请求;然后刷新页面上的数据表 然而,它所做的只是刷新页面——我的服务器无法接收到对指定URL的get请求。如何才能让它工作 $(".ajaxAction").on("click",function (event) { var ajaxActionUrl = $(this).data("actionUrl"); var ajaxActionQuery = $.get({type:"GET", url:ajaxActionUrl, s

这段代码应该向预定义的url(包括变量)发送get请求;然后刷新页面上的数据表

然而,它所做的只是刷新页面——我的服务器无法接收到对指定URL的get请求。如何才能让它工作

$(".ajaxAction").on("click",function (event) {
    var ajaxActionUrl = $(this).data("actionUrl");
    var ajaxActionQuery = $.get({type:"GET", url:ajaxActionUrl, success:function () {
        order_table.ajax.url(ajaxTableUrl).load();
    }});
    event.preventDefault();
})
编辑:我的HTML实际上是一个Jinja模板,我的JS文件如下:

$(document).ready(function(){main()})

function main(){
    ajaxTableUrl = $('#initial_table').data("tableLinkedTo")
    $(".container").hide();
    $("#OrderUI").show();
    $("#order_button").parent().css("backgroundColor","#f5f5f5");
    $("#initial_table").parent().css("backgroundColor","yellow");
    $(".menu-tab").on("click",function(){
        $("li.hnav").removeAttr('style');
        $(this).parent().css("backgroundColor","#f5f5f5");
        $("#kinandonboard").parent().removeAttr('style');
        var linkedto = $(this).data("linkedto");
        $(".container").hide();
        $(linkedto).show()
        }
        );
    $("#kinandonboard").on("click",function(){
        $("#order_button").parent().css("backgroundColor","#f5f5f5");
    }
    );
    var order_table = $('#order_table').DataTable({
        retrieve: true,
        ajax : ajaxTableUrl,
        'bSort': false,
        "columns" : [{"data": "orderId"},
                     {"data": "companyName"},
                     {"data": "customerOrderRef"},
                     {"data": "orderPaid"},
                     {"data": "orderPrice"},
                     {"data": "orderDate"},
                     {"data": "requiredDate"},
                     {"data": "orderQuantity"},
                     {"data": "orderStage"},
                     {"data": "orderActions"},],
        "columnDefs": order_table_cols,
        "scrollY":        "200px",
        "scrollCollapse": true,
        "info":           true,
        "paging":         false,
        "searching": false
        }) ;
    $(".order-table-button").on("click",function(){
        $("li.vnav").removeAttr('style');
        $(this).parent().css("backgroundColor","yellow");
        ajaxTableUrl = $(this).data("tableLinkedTo");
        order_table.ajax.url(ajaxTableUrl).load()
        });
    $(".ajaxAction").on("click",function (event) {
        event.preventDefault();
        var ajaxActionUrl = $(this).data("actionUrl");
        var ajaxActionQuery = $.get({type:"GET", url:ajaxActionUrl, success:function () {
            order_table.ajax.url(ajaxTableUrl).load();
        }});
    })
}

order_table.ajax.url(ajaxTableUrl.load())出错但我们无法判断错误,因为您没有为此发布代码。
该行将中断代码,因此,
event.preventDefault(),导致表单提交,显示为页面刷新。
将其更改为:

$(".ajaxAction").on("click",function (event) {
    event.preventDefault();
    var ajaxActionUrl = $(this).data("actionUrl");
    var ajaxActionQuery = $.get({type:"GET", url:ajaxActionUrl, success:function () {
        order_table.ajax.url(ajaxTableUrl).load();
    }});
})

因此,页面刷新停止,您可以在浏览器的错误日志控制台中看到order_表的错误。

尝试提供更多信息。基于这段微小的代码片段,很难全面了解错误所在。理想情况下,还要附加此单击侦听器的相关HTML代码

与此问题相关的最常见问题有:

  • jQuery未正确加载,请检查浏览器控制台是否有错误
  • 单击侦听器未触发,并且根本不调用
    偶数.preventDefault
    。检查您正在侦听的类是否正确,或者您是否正在侦听动态加载的元素。可能尝试在单击事件函数的开头添加一个
    console.log('click')
    。如果控制台中没有任何记录,您将知道在哪里搜索
  • 编辑

    根据您提供的代码,数据表似乎通过AJAX加载数据(如我在第2点中所述)。尝试将代码更改为:

    $(文档)。在(“单击”、“.ajaxAction”上,函数(事件){
    var ajaxActionUrl=$(this).data(“actionUrl”);
    var ajaxActionQuery=$.get({type:“get”,url:ajaxActionUrl,success:function(){
    order_table.ajax.url(ajaxTableUrl.load();
    }});
    event.preventDefault();
    
    })
    我打赌您正在尝试将单击事件附加到动态元素,因此它不在那里。因此,您需要更改单击以使用事件委派

    $(".ajaxAction").on("click",function (event) {
    


    将“防止默认值”上移到on函数的第一行什么是ajaxTableUrl?@JordanHendrix尝试了这一点,但没有什么不同:(@user2181397这是Jquery datables插件用来从我的服务器获取json的url。我猜点击事件实际上没有附加到任何东西。这不是一个答案,你可以在评论中写出来section@Kinando我根据您共享的代码更新了评论,请查看。这样做了,没有改进。然后出现了一个e错误:完全是因为其他地方阻止了这段javascript的运行。在google chrome中按F12并检查控制台以查看错误的来源。
    $(document).on("click", ".ajaxAction" ,function (event) {