मैं एक मोबाइल वेब एप्लिकेशन के पास निम्न संस्करणों का उपयोग कर बनाया गया है: -JQuery मोबाइल + Phonegap: अजाक्स एंड्रॉयड एम्युलेटर पर काम नहीं कर रहा कॉल
- JQuery मोबाइल: अल्फा 4 v1.0a4.1
- JQuery: v1 .6.1
- PhoneGap: v0.9.5
phonegap का उपयोग करना, इस आवेदन एक देशी एंड्रॉयड आवेदन में बनाया गया और तैनात है।
मेरे आवेदन में, मैं बाहरी वेबसाइटों पर $ .ajax का उपयोग करके विभिन्न AJAX कॉल करता हूं। इसके लिए मैं डेटा टाइप टाइप करता हूं: क्रॉस डोमेन कॉलिंग करने के लिए 'jsonp' inorder।
जब मैं क्रोम v12.0.742.100 में अपने ऐप का परीक्षण कर रहा था, तो सब कुछ ठीक काम कर रहा था और मुझे बाहरी साइटों से डेटा पुनर्प्राप्त करने में कोई समस्या नहीं थी। हालांकि, जैसे ही मैंने इसे एक। एपीके फ़ाइल में पैक किया और इसे एमुलेटर में चलाने की कोशिश की, मुझे लगता है कि AJAX कॉल में से कोई भी काम नहीं कर रहा है।
मैंने AJAX कॉल से पहले और बाद में अलर्ट लगाए हैं और सत्यापित किया है कि दोनों अलर्ट बुलाए जाते हैं लेकिन AJAX कॉल को अनदेखा किया जाता है। मैंने सफलता कॉलबैक और त्रुटि कॉलबैक दोनों में लॉग इन किया है और न ही पहुंचा जा रहा है। मैंने बाहरी सर्वर वेबसाइट पर ब्रेकपॉइंट डालकर भी सत्यापित किया है (मेरे परीक्षण के लिए, मेरे पास बस अपनी स्थानीय मशीन पर एक अलग वेबसाइट है) और सर्वर पेज निश्चित रूप से नहीं कहा जा रहा है। डी/SntpClient (59): अनुरोध समय विफल रहा: java.net.SocketException:
logcat में, त्रुटि कि मैं देख सकता हूँ यह है पता प्रोटोकॉल
द्वारा समर्थित नहीं परिवार मैं बहुत नया हूँ फोनगैप के साथ-साथ Jquery Mobile तक, लेकिन जहां तक मेरी समझ जाती है, मेरी फोनगैप ऐप फ़ाइल को फ़ाइल द्वारा संदर्भित किया जाता है: /// प्रोटोकॉल जबकि मेरा AJAX URL http://127.0.0.1:someport/someapp/somepage और त्रुटि यह इंगित करती है कि ये दो मिश्रण नहीं हैं !! यदि यह वास्तव में मामला है, तो मैं फोनगैप परिनियोजित एप्लिकेशन से AJAX कॉल करने के बारे में कैसे जा सकता हूं?
कृपया किसी और चीज को इंगित करने में संकोच न करें जो सहायक हो सकता है! मैं इस बिंदु पर सुंदर स्टंप हूँ।
संपादित करें: मैंने AndroidManifest.xml फ़ाइल की जांच की है और इस phonegap wiki link के अनुसार सभी अनुमतियां इस फ़ाइल में सेट हैं।
संपादित करें 2: मेरे मुवक्किल पक्ष कोड में जोड़ा जा रहा है कि ajax कॉल
var serverUrl = "http://localhost:2424/MyServer/RetrieveMasterData.aspx";
$.ajax({
url: serverUrl,
type: 'POST',
dataType: 'jsonp',
data: { MasterDataID: 1 },
success: function(response) {
...... business logic here
},
error: function(xhr, ajaxOptions, thrownError) {
...... error handling something here
}
});
हाय, क्या आपने इंटरनेट से कनेक्ट करने की अनुमति जोड़ दी है? – Francisc
मुझे नहीं पता कि यह आपके क्रोम पर क्यों काम करता है लेकिन आपके एंड्रॉइड पर नहीं। लेकिन मुझे यकीन है कि 1 चीज यह है कि वही मूल नीति फ़ाइल पर लागू नहीं होती है: /// प्रोटोकॉल। – root
क्या आप एक कोड स्निपेट पोस्ट कर सकते हैं जो समस्या दिखाता है। –