[英]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.