2013-10-29 17 views
5

की संपत्ति 'प्रदर्शन' नहीं पढ़ सकता है, मैं jquery AJAX का उपयोग कर डेटा प्राप्त करने का प्रयास कर रहा हूं, सबकुछ अच्छा काम करता है और मुझे वह चाहिए जो मैं चाहता हूं, लेकिन मैं इसे प्रदर्शित नहीं कर सकता क्योंकि मुझे एक अनचाहे TypeError: अपरिभाषित की संपत्ति 'प्रदर्शन' नहीं पढ़ सकता है।jQuery UI: Uncaught TypeError: अपरिभाषित

यहां कोड। कोई उपाय?

/* 
* Get the data from the ajax call and display a dialog 
*/ 

function CreateDialog(email) { 

    // get the data from the ajax call 
    var promise = AjaxSubscribe(email) 

    // if data are available, show the dialog 
    promise.success(function (data) { 
     // data is a simple html code 
     var dialog = $(data); 

     // can't setup the dialog! Error 
     // Uncaught TypeError: Cannot read property 'display' of undefined 
     dialog.dialog({ 
      autoOpen: false, 
      modal: true, 
      show: { 
       effect: "blind", 
       duration: 1000 
      }, 
      hide: { 
       effect: "explode", 
       duration: 1000 
      } 
     }); 

     dialog.dialog("open"); 
     return false; 
    }); 
} 

इस डेटा

console.log(data) 

<p>Data debugging</p> 
<ul> 
    <li>Ip address: 193.125.139.18</li> 
    <li>Country Name: Italy</li> 
    <li>Country Code: IT</li> 
    <li>Email: [email protected]</li> 
</ul> 
+2

AJAX कॉल से वापस आने पर 'डेटा' में क्या होता है? – glomad

+0

किसी कारण से मुझे नहीं लगता कि 'डेटा' वह है जो आपको लगता है। 'console.log (डेटा) 'और आउटपुट साझा करें! – tymeJV

+0

प्रश्न पर डेटा आउटपुट जोड़ा गया। बेशक आईपी एक नकली है: डी –

उत्तर

7

एक कंटेनर के अंदर अपने डेटा HTML लपेटकर प्रयास करें के उत्पादन, या तो बैकएंड या दृश्यपटल पर:

var dialog = $('<div/>').html(data); 

मैं सुनिश्चित नहीं हूं .dialog() एकाधिक दस्तावेज़ खंडों पर काम करेगा (आपके पास <p> और <ul> इनलाइन है)। $(data) 2 तत्वों के साथ एक सरणी होगी जो .dialog() अपेक्षा नहीं करता है।

+0

यह समाधान होना चाहिए। jQuery यूआई तत्वों को एक निश्चित लेआउट में होने की उम्मीद करता है और जब वे नहीं होते हैं तो भ्रमित हो जाते हैं। –

+0

सही! उत्तर के लिए धन्यवाद, मैं बैकएंड में div जोड़ता हूं और सबकुछ काम करता है! –

+0

मुझे एक ही समस्या थी और div wrapper समाधान था। असल में मेरे लिए फॉर्म प्रदर्शित किया जा रहा था, लेकिन फॉर्म को प्रदर्शित करने के बाद ही स्क्रिप्ट उसी त्रुटि संदेश से दुर्घटनाग्रस्त हो रही थी। – alexg

0

सुनिश्चित करें कि आपकी फ़ाइल के अंत में कोई खाली रेखा न हो। विम जैसे कुछ संपादक POSIX मानक Why would Vim add a new line at the end of a file? का सम्मान करने के लिए स्वचालित रूप से एक खाली रेखा जोड़ते हैं, आप इस खाली रेखा को दिखा सकते हैं।

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