Calling an XPage through ajax call -


परिदृश्य

एक बटन के साथ लोटस डोमिनोज़ फार्म जो कि अजाक्स कॉल करता है एक एक्सपेन के लिए, जो कुछ सामान करते हैं (एक गुण फ़ाइल पढ़ते हैं)।

फ़्रेमवर्क: प्रोटोटाइप.जेएस

बटन कोड:

  var अब = नया दिनांक () var n = $ H ({........ अब: now.getTime ()}); Var url = "/" + $ F ("पथ") + "/myxpages.xsp"; Var myAjax = नया Ajax.Request (url, {method: 'post', पैरामीटर: n.toQueryString (), onComplete: फ़ंक्शन (प्रतिक्रिया) {ajaxResult = response.responseText;}});  

Xpage

myxpages.xsp इस SSJS कोड को afterPageLoad ईवेंट पर है

  var अनुरोध = facesContext.getExternalContext ()। GetRequest (); Var प्रतिक्रिया = चेहरों Context.getExternalContext ()। GetResponse (); Response.setHeader ("समाप्ति", -1); Response.setHeader ("कैश-नियंत्रण", "नो-कैश"); com.org.MyGetProperties.readProperties (अनुरोध, प्रतिक्रिया);  

MyGetProperties वर्ग

यह वर्ग WebContent / WEB-INF / classes

में तैनात है
  सार्वजनिक वर्ग MyGetProperties {static PrintWriter = बाहर निकल; सार्वजनिक स्थिर सिंक्रनाइज़ किए गए शून्य पढ़ने वाले प्रॉपर्टीज़ (एचटीटीपीएसआरएआरलेट अनुरोध अनुरोध, एचटीटीपीएसर्वेट प्रतिसाद प्रतिक्रिया) अपवाद फेंकता है {try {* (कुछ काम करते हैं यहां) * बाहर = नया प्रिंट वाइटर (response.getWriter ()); // वापसी का परिणाम। Println ("OK"); एजेक्स प्रतिक्रिया कॉल में  खाली  कैरेक्ट (अपवाद ई) {..}}}  

कभी-कभी ajaxResult चर < Em> "ठीक" , जैसा कि अपेक्षित है (कैश से संबंधित कुछ लगता है, लेकिन मुझे लगता है कि मैंने इसे सही तरीके से प्रबंधित किया है।)

व्यवहार अलग-अलग उत्पादन सर्वर पर अलग है, मैं पता नहीं है कि सर्वर कॉन्फ़िगरेशन पर निर्भर करता है।

क्या प्रिंटवायर समस्या हो सकती है?

<पी > संक्षिप्त जवाब: नहीं। लंबे उत्तर: अजाक्स नियंत्रण का उपयोग करें। आपने कहा है कि आपके पृष्ठ पर और आपके यूआरएल को मायक्स्पेजज में बदल दिया गया है। Xsp / nameyougavetheaxaxcontrolproperty

इस तरह आप यह सुनिश्चित कर सकते हैं कि किसी भी कैश्ड परिणाम या लंबित ऑपरेशन के खराब न चलें। इसमें एक ऐसी संपत्ति भी है जहां आप सीधे जावा वर्ग को निर्दिष्ट कर सकते हैं यह क्लास (Google की आवश्यकता है - इससे पहले एसओ पर उत्तर दिया गया है) जो आपको अनुरोध / प्रतिक्रिया के लिए सीधे पहुंच देता है

अपडेट:

आपको बताएं कि आपने किया है:

  facesContext.responseComplete ();  

मेरी, कुछ और देखें।


Comments

Popular posts from this blog

ios - How do I use CFArrayRef in Swift? -

eclipse plugin - Run java code error: Workspace is closed -

c - Error on building source code in VC 6 -