अजाक्स + एपेक्स 4.2 =apex.server। प्रक्रिया एपीआई
इसके लिए आवश्यक है कि आपके पास पृष्ठ के ऑन-डिमांड प्रक्रिया बिंदु पर एक प्रक्रिया हो या एक आवेदन प्रक्रिया हो। इसमें आपको अपने फ़ंक्शन को कॉल करना होगा और पैरामीटर प्रदान करना होगा, जो पेज आइटम हो सकते हैं। वापसी प्रदान करने के लिए, htp.p
. पर कॉल के साथ http बफर में मान लिखें .
DECLARE
some_var1 VARCHAR2(50);
BEGIN
some_var1 := my_package.my_function(:P1_EMPNO, :P1_DEPTNO);
-- write values back
htp.p(some_var1);
END;
आप आसानी से apex.server.process
प्रदान कर सकते हैं पेज आइटम के साथ। आगे की हैंडलिंग सभी जावास्क्रिप्ट में है। इसलिए यदि आप अपनी ऑन-डिमांड प्रक्रिया जैसे कि INVALID में कोई टेक्स्ट लौटाते हैं, तो डेटाटाइप को टेक्स्ट पर सेट करना सुनिश्चित करें!
apex.server.process ( "MY_PROCESS", {
pageItems: "#P1_DEPTNO,#P1_EMPNO"
}, {
dataType: "text"
, success: function( pData ) {
//pData should contain VALID or INVALID - alert it
alert(pData);
if ( pData === 'INVALID' ) {
// do something here when the result is invalid
// maybe you want to color something red for example
alert('The data you have entered is invalid');
};
}
} );
मैं इसे आवश्यकता से अधिक गतिशील क्रियाओं में विभाजित नहीं करूँगा, भले ही यह संभव हो। मुझे व्यक्तिगत रूप से पीएलएसक्यूएल ब्लॉक डायनेमिक ट्रू एक्शन का उपयोग करने का प्रयास करने का शौक नहीं है, सिर्फ इसलिए कि यदि आप रिटर्न वैल्यू से निपटना चाहते हैं तो इस पर कार्य करना अधिक अस्पष्ट है। गतिशील क्रिया द्वारा परिभाषित। फिर गतिशील क्रिया में जावास्क्रिप्ट निष्पादित प्रकार की एक सच्ची क्रिया बनाएं, और वहां कॉलबैक के साथ AJAX कॉल का उपयोग करें।