क्रॉस-डोमेन AJAX पोस्ट अनुरोध मोबाइल फोन पर ब्राउज़रों सहित वेब ब्राउज़र पर पूरी तरह से ठीक काम करता है, लेकिन देशी अनुप्रयोगों के लिए काम नहीं करता है बनाया Phonegap
Phonegap क्रॉस-डोमेन AJAX पोस्ट अनुरोध Android पर काम नहीं
का उपयोग कर रहा बनाया है एक लॉगिन फॉर्म जिसे उपयोगकर्ताओं को अपने लॉगिन प्रमाण-पत्र दर्ज करना होता है, फिर उन्हें सर्वर द्वारा सत्यापित किया जाता है जो उसकेोकू पर होस्ट किया जाता है और यदि वैध प्रमाण-पत्र दर्ज किए जाते हैं तो json {"success":true}
लौटाता है।
मेरे अजाक्स स्क्रिप्ट:
$.ajax({
type: "POST",
url: "http://domain.com/public/auth/app-login",
contentType: "application/x-www-form-urlencoded; charset=utf-8",
dataType: "json",
data: {identity: <username from form>, password: <password from form>},
crossDomain: true,
cache: false,
success: function(data) {
obj = JSON.parse(data);
if (obj && obj.success === true) {
window.location.href = 'home.html';
}
},
error: function(e) {
alert('Error: ' + e.message);
}
});
कदम इस समस्या को हल करने के लिए लिया:
- Domain whitelisting - config.xml
<access origin="http://domain.com/public/auth/app-login" />
<access origin="*" />
- jQuery बोलने क्रॉस-डोमेन
$.support.cors = true;
या jQuery.support.cors = true;
- कैशिंग निष्क्रिय अनुमति देने के लिए
cache: false
किसी भी मदद की सराहना की है।
हाय, क्या आप इस समस्या को हल कर सकते हैं? क्या आप समाधान साझा कर सकते हैं? –
हां मैंने इसे हल किया था। आपके सर्वर के साथ संवाद करने के लिए 1. डोमेन श्वेतसूचीकरण (http://docs.phonegap.com/en/2.1.0/guide_whitelist_index.md.html#Domain%20Whitelist%20Guide), 2. उपयोग XmlHttpReqquest - http: निम्नलिखित का प्रयास करें : //stackoverflow.com/questions/9464563/how-do-i-call-remote-api-using-phonegap-for-android – h4kl0rd