2014-07-06 7 views
8

से टाइप त्रुटि में परिणाम मैं पूर्ण कैलेंडर का उपयोग करके शेड्यूल पर काम कर रहा हूं और मैंने थोड़ा सा झटका लगाया है। मैं एक नया कार्यक्रम बनाने के लिए इवेंट कॉलबैक फ़ंक्शंस का उपयोग करने की कोशिश कर रहा हूं, और नई घटना की जानकारी को मेरी php स्क्रिप्ट पर भेजता हूं जो तब जानकारी को सर्वर पर संग्रहीत करता है। लेकिन जब भी मैं $ .ajax या कॉलबैक से किसी एक से $ .post (और मैं उनमें से कुछ के साथ से अगर कोशिश की है) मैं इस मिल कॉल करने के लिए प्रयास करें:ईवेंट कॉलबैक में से किसी एक के अंदर से JQuery.ajax या JQuery.post को कॉल करने के परिणामस्वरूप Moment.min.js

Uncaught TypeError: Cannot read property 'month' of undefined moment.js:684 
extend.monthsShort moment.js:684 
e jquery.min.js:4 
Bc jquery.min.js:4 
Bc jquery.min.js:4 
Bc jquery.min.js:4 
n.param jquery.min.js:4 
n.extend.ajax jquery.min.js:4 
$.fullCalendar.select advisorSchedule.js:141 
Q fullcalendar.min.js:6 
s fullcalendar.min.js:7 
a fullcalendar.min.js:7 
(anonymous function) fullcalendar.min.js:6 
d jquery.min.js:3 
n.event.dispatch jquery.min.js:3 
r.handle 

लेकिन क्योंकि मैं इस पल का उपयोग कर रहा था .min.js यह जहां समस्या से आ रहा था पढ़ने के लिए थोड़े कठिन था, इसलिए मैं Moment.js साथ Moment.min.js ले लेती है और जब त्रुटि फिर से पॉप मैं पढ़ने में सक्षम था, जहां समस्या थी:

months : function (m) { 
    return this._months[m.month()]; 
}, 

जो मैंने एकत्र किया है, एम इस कार्य को निष्पादित करते समय अपरिभाषित है।

select:function(start, end, jsEvent, view){ 
     CURRENT_SELECTION_START = start; 
     CURRENT_SELECTION_END = end; 

     console.log(CURRENT_SELECTION_START + '-' + CURRENT_SELECTION_END); 

     $.ajax({ 

      url:'../AJAX/save_event.php', 
      type: 'POST', 
      data: { 
       Start_Time: start, 
       Event_Title: prompt('Title'), 
       End_Time: end 
      }, 

     }); 
    }, 

उत्तर

12

मुझे लगता है शुरू एक पल-वस्तु है: यहाँ कोड मैं PHP स्क्रिप्ट के लिए नए इवेंट डेटा पोस्ट करने के लिए प्रयोग किया जाता है।

मुझे एक ही समस्या थी और ऐसा लगता है: आप क्षण-वस्तु नहीं भेज सकते हैं, इसलिए आपको मान को पूर्णांक या कुछ और के रूप में प्राप्त करने की आवश्यकता है।

start के बजाय start.calendar() या start.format("YYYY-MM-DD"); (या कुछ समान) का प्रयास करें। पैट्रिक

6

)

नहीं AJAX अनुरोध करने के लिए पैरामीटर के रूप में सीधे start और end भेज करो;

भी आप के लिए मेरे लिए काम किया, उम्मीद है कि।

var startDate = start.format('YYYY-MM-DD'), 
    endDate = end.format('YYYY-MM-DD'), 
    params = {'from':startDate, 'to':endDate}; 
$.ajax({ 
     url: 'http://example.com', 
     contentType: 'application/json', 
     data: params, 
     type: 'POST' 
    }).done(function(data) { 
     console.log('Successful! ', data); 
    }); 
6

मुझे बस यही समस्या थी (इस तरह मैं इस पोस्ट में आया था)।

संपूर्ण ऑब्जेक्ट भेजने के लिए आपको इसे स्ट्रिंग करने की आवश्यकता है।

var now = moment(); 

$.ajax({ 
     url: 'http://example.com', 
     contentType: 'application/json', 
     data: JSON.stringify(now), 
     type: 'POST' 
}); 
संबंधित मुद्दे