2011-03-20 13 views
5

कल्पना कीजिए मैं इस चलाएँ:मैं AJAX/jquery से प्रतिक्रिया पाठ कैसे प्राप्त करूं?

 $.ajax({ 
     type: 'POST', 
     url: '/ajax/watch.php', 
     data: {'watch':'aukcia', 'id':aukciaID}, 
     complete: function(responseText){ 
      alert(responseText); 
     } 
    }); 

/ajax/watch.php अंदर, चलो कहते हैं कि मैं इस डालते हैं:

echo 'this is what I want'; 

और चेतावनी (responseText) देता है:

[object Object] 

मेरी टेक्स्ट स्ट्रिंग के बजाय मुझे चाहिए। कोई मदद, कृपया?

+0

सुनिश्चित करें कि आप सादा पाठ वापस लौट रहे हैं आपकी PHP फ़ाइल से। – JohnP

+0

100% यकीन है कि मैं हूं:/ –

उत्तर

12

ऐसा लगता है कि आपकी jQuery आपकी प्रतिक्रिया के बजाय XMLHttpRequest ऑब्जेक्ट को वापस कर रही है।

अगर ऐसा है, तो आप इस तरह अपने responseText संपत्ति के लिए पूछना चाहिए,:

$.ajax({ 
    type: 'POST', 
    url: '/ajax/watch.php', 
    data: {'watch':'aukcia', 'id':aukciaID}, 
    complete: function(r){ 
     alert(r.responseText); 
    } 
}); 

हालांकि, कि अगर काम नहीं करता है, आप वास्तव में एक JSON प्रतिक्रिया प्राप्त हो सकता है, और आप कर रहे हैं [object Object] देखकर आपके JSON प्रतिक्रिया का ब्राउज़र का प्रतिनिधित्व हो सकता है।

आप ऑब्जेक्ट गुणों के चारों ओर नेविगेट करके अपनी सामग्री का निरीक्षण करने में सक्षम होना चाहिए। हालांकि, अगर आप चाहते हैं, आप भी jQuery अपनी कॉल पर dataType: 'text' शामिल करके, अपने JSON उत्तर पार्स करने के लिए नहीं बता सकते हैं:

$.ajax({ 
    type: 'POST', 
    url: '/ajax/watch.php', 
    data: {'watch':'aukcia', 'id':aukciaID}, 
    dataType: 'text', 
    complete: function(data){ 
     alert(data); 
    } 
}); 

अधिक जानकारी के लिए देखें: http://api.jquery.com/jQuery.ajax/

+0

धन्यवाद, यह काम करता है! तो इस मामले में "आर" क्या है? "उत्तर" या कुछ के लिए एक छोटा? (सिर्फ उत्सुक) –

+1

"आर" सिर्फ एक जावास्क्रिप्ट ऑब्जेक्ट है। आप इसे जो कुछ भी चाहते हैं उसका नाम दे सकते हैं ... – pokiman

+0

धन्यवाद, कम से कम इन दो कार्यों में से एक (बाद वाला एक)। पूर्व कोई नहीं करता है। –

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