簡體   English   中英

函數內部的Ajax調用

[英]Ajax call inside of 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調用時,什么都沒有發生,甚至無法到達“此處收到”警報。 當我刪除“ return”關鍵字時,我可以到達警報,但是無論哪種方式,都沒有任何反應。 GYAPATCH.p_update是我希望在運行時執行的程序包/過程

我不確定是什么問題。 任何幫助,將不勝感激。 提前致謝。

所以幾個小時后,我發現了問題所在。 因為問題很簡單,所以這更多是一個學習課程。 我需要記住,我在Oracle數據庫中工作並且也在使用WebTailor。 上面發布的代碼是正確的。 原來,我嘗試調用的過程(p_update)未注冊。

WebTailor允許您使用Banner來構建Web應用程序。 在WebTailor中,所有使用過的頁面(通常來自package.procedure)都需要注冊,否則將無法識別。

我在調試時發現了這個。 在調試器的“網絡”選項卡下,我注意到當我單擊按鈕時,調用package.procedure時出現404錯誤。 因此,我意識到它找不到我的包裹,然后繼續檢查它是否已注冊。 就我而言,這是一個簡單而愚蠢的錯誤。 我很感謝您的反饋,但是對於任何在使用Banner數據時嘗試使用Ajax的人來說,這都可以作為學習課程或提醒。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM