2013-04-25 5 views
6

मैं एक जावाफ़ैक्स एप्लिकेशन विकसित कर रहा हूं जो अधिकतर एक गौरवशाली वेब पेज है। यह एक डेस्कटॉप एप्लिकेशन है (यह किसी वेब पेज में एम्बेड नहीं है) और इसमें मुख्य यूआई के लिए एक वेब व्यू है। यह एप्लिकेशन ब्लूकोव का उपयोग करके ब्लूटूथ उपकरणों तक पहुंचने का एकमात्र उद्देश्य प्रदान करता है क्योंकि वेब ब्राउज़र पर जावास्क्रिप्ट के साथ यह संभव नहीं है।जावाएफएक्स वेबव्यू अक्षम मूल मूल नीति (क्रॉस डोमेन अनुरोधों को अनुमति दें)

अवधारणा का सबूत ठीक काम करता है (मैं जावा से जावास्क्रिप्ट कोड को कॉल करने में सक्षम था और इसके विपरीत) लेकिन मेरे पास जावास्क्रिप्ट के भीतर मनमाने ढंग से वेब सेवाओं/एपीआई को कॉल करने की एक अतिरिक्त आवश्यकता है, लेकिन यह उसी मूल नीति का उल्लंघन करता है (समान एंड्रॉइड पर: Allow remote ajax calls in an Android Webview + jquery mobile)। क्या यह जावाएफएक्स पर संभव है? कोई सुझाव?

पीएस .: मैं जावाएफएक्स 2.2 का उपयोग कर रहा हूं।

उत्तर

0

चूंकि आप पहले से ही जावाफ़ेक्स में डेस्कटॉप एप्लिकेशन के रूप में चल रहे हैं, इसलिए आप जावा के माध्यम से अपना जावास्क्रिप्ट कॉल कर सकते हैं, जहां समान मूल नीति लागू नहीं होती है।

वैकल्पिक रूप से, this answer to the SO question you've posted एक व्यवहार्य विकल्प प्रतीत होता है।

6

असल में, जावाएक्सएक्स में समस्या है जो सीओआरएस - https://javafx-jira.kenai.com/browse/RT-35868 के साथ मिलकर है। यह मानते हुए कि वेब सेवाओं जो आप उपयोग कर रहे, है CORS सक्षम आप कर सकते हैं निम्नलिखित तरीके का प्रयास करें:

  • System.setProperty("sun.net.http.allowRestrictedHeaders", "true")

या

  • java -Dsun.net.http.allowRestrictedHeaders=true <your main class here>

आशा है कि यह मदद मिलेगी आप

संबंधित मुद्दे