JSON输入的意外结束 - apex / ajax

时间:2017-03-29 10:30:45

标签: javascript json ajax plsql oracle-apex

在APEX中,我有一个动态动作,在页面加载时触发,它会检查最后一页是否与当前页面不同,然后它 应该用AJAX调用proccess来清除页面使用PL / SQL函数缓存

但是当我切换到该页面时出现了一条很大的错误信息:

  

错误:parseerror - SyntaXError:JSON输入的意外结束

但刷新页面后页面缓存被清除,如果我只使用PL / SQL函数,我不必刷新它,页面的所有值都是空的

我是APEX / SQL和PL / SQL的新手,我完全不知道JSON

如果页面URL不同,我会在动态操作中使用的代码来调用进程

var ref = document.referrer;
var cur = window.location.href;

if (cur != ref)
{
    apex.server.process('refresh',
        {
            "dataType:":"script"
        }
    );
}

继承代理代码

BEGIN
APEX_UTIL.CLEAR_PAGE_CACHE (NV('APP_PAGE_ID'));
END;

对于我所做的研究,我发现它必须是JavaScript中的AJAX调用。我将dataType切换为脚本,因此当调用成功时,它会自动执行。我错过了什么?

1 个答案:

答案 0 :(得分:0)

您错过了apex.server.process的第二个参数。第一个参数是进程名称,第二个参数是包含要传递给请求的数据的对象,第三个参数是带有传递给$.ajax的选项的对象。
因此,要设置dataType:

apex.server.process('refresh',
    null,
    {
        "dataType:":"script"
    }
);

但是......为什么你这样做真的不清楚?为什么要通过页面加载ajax进程擦除当前页面中的会话状态?重点是什么?