यह त्रुटि कुछ भी है कि जावास्क्रिप्ट समारोह में गलत हो जाता है कि कहा जाता है के लिए फेंक लगता है:WP7 WebBrowser InvokeScript कॉल फेंकने का कारण क्यों है त्रुटि: 80020101?
SystemException was unhandled
An unknown error has occurred. Error: 80020101.
मैं एक वेब एप्लिकेशन बैकएंड के लिए एक इंटरफेस के रूप में जावास्क्रिप्ट का उपयोग कर रहा है, और मैं दो कॉल कि काम कर रहे हैं है ठीक, लदान और एक ajax कॉल, कि इस तरह दिखेगा से JSON लौटने:
सिल्वरलाइट में:
MyBrowser.InvokeScript("getData", "/Me/Feed?numberOfResults=-1", "MyFeed");
जावास्क्रिप्ट WebBrowser में लोड
function getData(url, context) {
$.ajax({
url: url,
dataType: 'jsonp',
success: function (result) {
callback(result, context);
}
});
}
लेकिन बाद में मैं डेटा सर्वर को वापस पोस्ट करना चाहते हैं, और मैं एक ही बात कर रहा हूँ:
MyBrowser.InvokeScript("postData", "thedata", "CreatePost");
function postData(payload, context) {
$.ajax({
type: "POST",
url: "/Post/Create?" + tz(),
data: payload,
dataType:"json",
success:function (result) {
callback(result, context);
}
});
}
अब मैं अपवाद मिलता है।
वास्तव में अजीब बात यह है कि मैं तुरंत फ़ंक्शन के भीतर से फ़ंक्शन को कॉल कर सकता हूं और यह बैक-एंड पर ठीक है।
postData("sampledata", "PostTest");
पहले तो ऐसा लग रहा था फर्क सिर्फ इतना है कि एक प्राप्त और अन्य एक पोस्ट था, तो मैं दूसरी कॉल में मिल ajax कॉल (जो उपयोगकर्ता इनपुट, जहां पहले एक पर हुआ पर होता है की नकल की भार)। नतीजा वही था (मुझे एक ही त्रुटि मिलती है)। मैं इस घटना से जावास्क्रिप्ट में आग लगाने के लिए अन्य आदेश प्राप्त कर सकता हूं जब तक कि इसमें AJAX कॉल न हों (ऐसा प्रतीत होता है)। तो आप सोच सकते हैं कि यह एक समय की बात है - इसलिए मैंने ऊपर कॉल को ऊपर ले जाया जहां मैं अन्य InvokeScripts को कॉल कर रहा हूं जो काम कर रहे हैं, और यह अभी भी काम नहीं करता है (एक ही अपवाद)।
मैंने डिस्पैचर का उपयोग करके इसे अलग थ्रेड पर भी कॉल करने का प्रयास किया। अच्छी तरह से मापने के लिए और कोई पासा नहीं।
Dispatcher.BeginInvoke(() =>
{
MyBrowser.InvokeScript("postData", "thedata", "CreatePost");
});
मैं पूरी तरह से परेशान हूं। ऐसा लगता है कि कुछ स्थिरता प्रतीत होती है, अगर कोई कॉल विफल हो जाता है तो यह हर बार असफल हो जाएगा, लेकिन मैं यह नहीं बता सकता कि काम करने वाले कॉल और असफल होने वालों के बीच क्या अंतर है।
क्या कोई मुझे बता सकता है कि मैं क्या गलत कर रहा हूं, या मुझे यह नहीं है कि मैं InvokeScript और Ajax का उपयोग करने के बारे में क्या समझ नहीं पा रहा हूं ??
धन्यवाद!
[संपादित करें - यह इनलाइन जोड़ने (टिप्पणी में था) क्योंकि मैं सवाल एक बहुत हो रही है]
मैं 6 घंटे के लिए इस पर काम किया और इस मैं क्या दिखाई दे रही है है:
- वहां 2 अलग-अलग कार्यक्रम हैं जिनसे मैं इन कॉल कर रहा हूं; 1) जब पेज लोड ब्राउज़र नियंत्रण पर पूरा कर लिया है, 2) कोई उपयोगकर्ता टैप करता जब मेरी "पोस्ट" बटन
- त्रुटि नहीं होती है जब अजाक्स कॉल लोड घटना से किसी GET
- त्रुटि उत्पन्न करता है जब उपयोगकर्ता घटना से ही प्राप्त कॉल बुला
- त्रुटि भी होती है जब लोड घटना से पोस्ट का उपयोग कर अजाक्स कॉल बुला
- त्रुटि नहीं होती है जब एक समारोह है कि उपयोगकर्ता से कोई भी अजाक्स का प्रयास नहीं करता बुला घटना
क्या यह प्राकृतिक XMLHTTPRequest के साथ ऐसा करता है? – mattsven
जब आप InvokeScript को कॉल करते हैं तो पृष्ठ पूरी तरह से लोड होता है? हो सकता है कि $ .ajax फ़ंक्शन अभी तक लोड नहीं हुआ है? –
हाय, NeXXeuS - मुझे यकीन नहीं है कि मैं समझता हूं कि आप क्या सुझाव दे रहे हैं। क्या आपका मतलब है कि मुझे वेब ऐप पर इंटरफ़ेस के रूप में जावास्क्रिप्ट का उपयोग करके स्क्रैप करने का प्रयास करना चाहिए और इसे सीधे एक्सेस करना चाहिए? मुख्य रूप से, मेरी टीम सिर्फ इस क्लाइंट के लिए अपनी सभी चीजों को फिर से लिखना नहीं चाहती थी, और दूसरी बात यह है कि यह दृष्टिकोण मौजूदा फेसबुक लेख प्रदान करता है और सभी क्रॉस-डोमेन सिल्वरलाइट मुद्दों से बचाता है – Subcreation