【问题标题】:AJAX function not getting called - Database not getting called?未调用 AJAX 函数 - 未调用数据库?
【发布时间】:2015-08-19 10:28:04
【问题描述】:

我正在尝试让我的项目在本地主机上运行。成功后,我遇到了内置 ajax 函数的问题。这是javascript函数:

function getDecisions(page, searchstring) {
    page = typeof page !== 'undefined' ? page : 1;
    searchstring = typeof searchstring !== 'undefined' ? searchstring : '';

    $('.loading-container').show();
    if (searchstring != '') {
            params = searchstring;
    }
    else {
            params = getFilterObj();
            params['page'] = page;

            //Only get checked types
            $('#types input[type="checkbox"]').each(function() {
                    if ( $(this).is(":checked") ) {
                            params[$(this).attr("name")] = 'True';
                    }
            });
    }

    if ( $('input[name="approved-only"]:checked').val() == 'yes' ) {
            params['approved-only'] = 'yes';
    }

    $.ajax({
            url:'/dh',
            data: params,
            success: function(data) {
                    
                    info = data.info;
                    newhtml = '';

                    if (info.length == 0) {
                            newhtml += '<tr><td colspan="18" style="text-align: center;">No results returned</td></tr>\n';
                    }
...
}

我知道 javascript 函数正在工作,因为我正在逐步执行直到函数的最后一行,但我什至不确定是否正在调用 ajax 函数。我收到以下内部服务器错误 (500):

谁能说出这种类型的 ajax 调用在 localhost 上导致 500 错误的原因是什么?或者我如何查看是否调用了 ajax 函数?

【问题讨论】:

    标签: javascript jquery ajax django


    【解决方案1】:

    肯定是在进行 ajax 调用。我知道这是因为您看到 500 服务器错误。 500 服务器错误是来自服务器的响应,这意味着请求在服务器上存在某种错误。看起来您正在使用 chrome 进行调试。如果是这种情况,您可以转到开发人员工具中的“网络”选项卡,然后在您逐步执行代码时,您将看到该请求的条目。请求完成后,您将看到错误 500 的状态更新,这应该与您在控制台中看到的一致。然后,您可以单击网络选项卡中的该条目,并希望能够看到来自服务器的实际响应。

    如果您可以控制服务器,您还可以在该端调试 Web 服务并查看发生了什么。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-08
      • 2013-08-04
      • 2015-11-26
      • 2013-02-14
      • 1970-01-01
      • 2019-07-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多