当前位置: 首页 > 面试题库 >

未捕获的异常:Ajax进程内存不足

潘国源
2023-03-14
问题内容

我遇到一个问题,我正在提交一个包含少量数据的简单表单,当我在console选项卡中检查ajax的URL似乎正常时,但是在处理了ajax之后,它会发出错误提示,并将其重定向到我的主页,并从控制台选项卡我有这个weird error

未捕获的异常:内存不足

在我的ajax中,我只有以下简单代码:

$("#add-comment").on('click', function() {

    var id = $('input[name=\'review_id\']').val();
    var customer_id = $('input[name=\'customer_id\']').val();
    var $comment = $('textarea[name=\'user_comment\']').val();

    var sample = "test";

    $.ajax({
        url: 'index.php?route=product/product/writeSubComment',
        type: 'post',
        dataType: 'json',
        data: { text: sample },
        beforeSend: function() {

        },
        success: function(data) {
            console.log(data.test);
        },
        error: function() {
            alert('ERROR!!!');
        }
    });

});

在我的PHP控制器中,我具有此功能

public function writeSubComment() {

    $json = array();

    $json['test'] = $this->request->post['text'];

    $this->response->addHeader('Content-Type: application/json');
    $this->response->setOutput(json_encode($json));

}

问题答案:

从您重定向到主页的描述,但是在ajax响应部分中没有执行此操作的代码,我怀疑元素#add-comment是表单中的提交按钮。

如果是这种情况,那么当您单击#add-comment提交按钮时,您的表单可能会在运行ajax代码的同时提交。当页面重定向时,由于ajax
javascript被清除,这将解释内存不足错误。

您将需要阻止表单提交,并让成功()或失败部分处理下一步(即刷新页面,更新评论框)。一种方法是更改

$("#add-comment").on('click', function() {
     ...

$('#add-comment').on('click', function(event){ 
    event.preventDefault();
    ...

或从更改提交按钮

<button type="submit" ...>Add comment</button>

<button type="button" ...>Add comment</button>

或像这样更改表单标签

<form onsubmit="return false;">

根据我所掌握的信息,这是我最好的猜测。



 类似资料:
  • 我只是在练习java,目前我正在试验getter/setter方法和构造函数。java程序的工作原理是,我能够将用户输入存储到对象中,但当我将字符串“Dice and rollers”输入到gametype字符串变量中时,会出现一个挂起的未捕获异常InputMismatch错误。 有人能给我解释一下这是为什么吗? 另外,我在下面分享了我的源代码。 上面的是超类,下面的源代码是构造函数和getter

  • 问题内容: 因此,在此桌子上,我一直将头撞在桌子上几个小时,而且我什么都没走,因此我们将不胜感激。 下面的代码有两个jquery事件处理程序,它们会触发ajax请求。第一个使用GET,并且从服务器返回的数据是JSON编码的-它工作正常。返回的第二个(“ button#addTx”)使Firebug产生此错误: 未捕获的异常:[异常…“提示被用户终止” nsresult:“ 0x80040111(N

  • 问题内容: 为什么Java中的某些异常未被捕获?这是代码由于没有处理的异常而完全失败。(Java版本1.4)。 我得到一个 但这有效 我懂了 我以为捕获异常会捕获所有异常?如何捕获Java中的所有异常? 问题答案: 因为某些异常不是源自-例如和。 基本上,类型层次结构是: 只能抛出派生类,因此,如果您抓住,那实际上就可以抓住一切。 ,以及任何异常,从获得 其他 比那些源自数作为 检查的异常 -他们

  • 我对Java线程、Runnable等相当陌生。因此,我想知道为什么下面的代码没有捕获异常? 阅读有没有一种方法可以使Runnable的run()引发异常,我收集到: "...如果您的run()方法确实是Thread的目标,则抛出异常是没有意义的,因为它是不可观察的;抛出异常与不抛出异常(无)具有相同的效果。"(@erickson) 我应该检查Runnable.run()方法中的异常。 为什么会这样

  • 为什么Java中的一些异常不被捕获?这是完全失败的代码,有一个未处理的异常。(Java版本1.4)。 我在线程“main”java中得到了一个 但这行得通 我在java中没有发现任何方法错误。lang.NoSuchMethodError: 我以为捕获异常会捕获所有异常?如何捕获java中的所有异常?

  • 我的用它的作用域启动coroutine 我的只处理一些逻辑,在本例中是某种验证器 然后我的只处理网络层/本地层 以下是我得到的错误日志: 错误直接指向显式的语句。