2017-06-23 4 views
8

मैं अनुवाद के लिए लोड * .properties फ़ाइल के लिए i18n प्लगइन का इस्तेमाल किया और अपने आईओएस 10.3 पर काम नहीं कर एंड्रॉयड प्लेटफॉर्म लेकिन एक ही पुस्तकालय पर ठीक काम कर रहा। 1। यह मुझे त्रुटि नीचे देता है:क्रॉस उत्पत्ति ajax में आईओएस में .properties फ़ाइल के लिए काम नहीं कर रहा (10.3.1)

enter image description here

मैं i18n पुस्तकालय में कुछ बदलाव किया है, लेकिन अभी भी अपने काम नहीं कर रहा।

function loadAndParseFile(filename, settings) { 
    $.ajax({ 
     url:  filename, 
     async:  false, 
     cache:  settings.cache, 
     crossDomain: true, 
     jsonpCallback:'callback' 
     contentType:'text/plain;charset='+ settings.encoding, 
     dataType: 'text', 
     success: function(data, status) { 
         parseData(data, settings.mode); 
        } 
    }); 
} 

उपरोक्त कोड में:

मैं क्रॉस-डोमेन 'सही' और डेटाप्रकार 'पाठ' .. जोड़ दिया गया है जब मैं 'jsonp' करने के लिए अपने काम के डेटाप्रकार 'पाठ' बदला लेकिन यह .properties फ़ाइल देता है त्रुटि। कृपया त्रुटि नीचे की जाँच ..

enter image description here

इसका मतलब है कि। फ़ाइल लोड हो गई है, लेकिन आंतरिक डेटा प्रारूप अलग है।

+0

हां, लॉग आपको बताता है कि 'Message.properties' फ़ाइल अमान्य है ("अप्रत्याशित पहचानकर्ता' उपयोगकर्ता ')। क्या यह एक स्थिर फ़ाइल है या जेनरेट की गई है? किसी भी तरह से: आपको इसे ठीक करने की आवश्यकता है। – Wukerplank

+0

@Wukerplank हां, इसकी स्टेटिक फाइल .. – Goku

+0

क्या आप यहां एक वैध यूआरएल पास कर रहे हैं ... '$ .ajax ({url: filename, ...})'? – joshuamabina

उत्तर

0

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

एक वैश्विक चर नियुक्ति या एक समारोह कॉल के साथ चारों ओर डेटा:

window.variable = "_DATA_"; // or 
    functionName("_DATA_"); 

तो _DATA_ JSON प्रारूप, तो आप उद्धरण के साथ चारों ओर की जरूरत नहीं है, अन्यथा आप "_DATA_" का उपयोग करने की आवश्यकता होगी क्योंकि कर रहे हैं उद्धरण के बिना यह वैध जावास्क्रिप्ट वाक्यविन्यास नहीं होगा।

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