Ajax调用函数内部

时间:2018-02-21 22:10:41

标签: javascript ajax oracle function

我在Oracle软件包中工作。我试图使用AJAX调用从按钮单击调用过程。 ajax调用在函数内部。我没有从Oracle获得任何语法错误,或者当我使用浏览器调试模式时,我不确定问题是什么。功能如下。

htp.p('
function ApplyTest(_ht) {
     var _inst  = "";
     var _pidm = '||v_web_pidm||';
     var _inst = document.getElementById("Test").value;
        alert("Heat Ticket value is: " + _ht);
        alert("the instance is: " + _inst);
     var resp = confirm("Are you sure you want patch applied to TEST8?");
     if (resp == true) { 
        alert ("user pidm is: " + _pidm);

        return $.ajax ({
             type: "POST",
             cache: false,
             dataType: "json",
             url: "gyapatch.p_update",
             data: {"v_instance" : _inst, "v_ht" : _ht},
             success : function(data) { alert("success"); }
        });

        alert("Got here");
        alert("value: " + _inst);

        window.location.reload;
        alert("got to the end");
     } else {
        return;
     } 
   } 
');

按钮的代码是:

<button name="TestApply" id = "Test" onclick="ApplyTest('||val_patch.heat_ticket||')" type="button" value="T">Apply to TEST8</button>'

当我尝试返回ajax时,没有任何事情发生,我甚至无法到达&#34; Got Here&#34;警报。当我删除&#34;返回&#34;关键字,我可以达到警报但无论如何,什么也没发生。 GYAPATCH.p_update是我希望在运行时执行的包/过程

我不确定问题是什么。任何有关这方面的帮助将不胜感激。提前谢谢。

1 个答案:

答案 0 :(得分:0)

所以几个小时后,我发现了问题。这更像是一个学习课程,因为问题非常简单。我需要记住,我在Oracle数据库内部工作,并且还使用WebTailor。上面发布的代码是正确的。事实证明,我试图调用的程序(p_update)没有注册。

WebTailor允许您使用Banner构建Web应用程序。在WebTailor中,任何使用的页面(通常源自package.procedure)都需要注册,否则无法识别。

我在调试时发现了这个。在我的调试器的“网络”选项卡下,我注意到当我单击我的按钮时,调用package.procedure时出现404错误。所以我意识到它无法找到我的包裹,然后继续检查它是否已注册。这对我来说是一个简单而愚蠢的错误。我很感激您的反馈意见,但这可能会成为学习课程或提醒任何试图在使用Banner数据时使用ajax的人。