2013-11-22 11 views
8

मैं jQuery ajax के साथ एक एपीआई कॉल करने के लिए कोशिश कर रहा हूँ करने के लिए कर्ल cmd परिवर्तित, मैं एपीआई के लिए कर्ल काम कर रहे है, लेकिन मेरे ajax HTTP फेंक रहा है 500

मैं एक कर्ल आदेश है काम कर रहा है कि इस तरह दिखता है:

curl -u "username:password" -H "Content-Type: application/json" -H "Accept: application/json" -d '{"foo":"bar"}' http://www.example.com/api 

मैं इस तरह ajax की कोशिश की, लेकिन यह काम नहीं कर रहा:

$.ajax({ 
    url: "http://www.example.com/api", 
    beforeSend: function(xhr) { 
     xhr.setRequestHeader("Authorization", "Basic " + btoa("username:password")); 
    }, 
    type: 'POST', 
    dataType: 'json', 
    contentType: 'application/json', 
    data: {foo:"bar"}, 
    success: function (data) { 
     alert(JSON.stringify(data)); 
    }, 
    error: function(){ 
     alert("Cannot get data"); 
    } 
}); 

मैं क्या याद आ रही है?

+0

जब तक एपीआई कोरस के साथ क्रॉस डोमेन अनुरोध का समर्थन नहीं करता है, तो आप नहीं कर सकते! हालांकि आप सर्वर के लिए AJAX कॉल कर सकते हैं, और फिर सर्वर को curl सामान करने दें। – adeneo

+0

@adeneo मैं कस्टम पैकेजिंग का उपयोग कर रहा हूं जो क्रॉस डोमेन अनुरोध को अवरुद्ध नहीं करता है, यह मानते हुए कि यह वही मूल है, मैं इसे कैसे काम पर ला सकता हूं? – krisrak

उत्तर

18

डिफ़ॉल्ट $ .ajax() नहीं करता है, तो पहले से ही एक स्ट्रिंग, एक क्वेरी स्ट्रिंग के लिए data में परिवर्तित कर देंगे, क्योंकि data यहाँ एक वस्तु है, एक स्ट्रिंग के लिए data बदलने और फिर सेट processData: false इतना है कि यह करने के लिए परिवर्तित नहीं किया गया है द्वारा क्वेरी स्ट्रिंग।

$.ajax({ 
    url: "http://www.example.com/api", 
    beforeSend: function(xhr) { 
     xhr.setRequestHeader("Authorization", "Basic " + btoa("username:password")); 
    }, 
    type: 'POST', 
    dataType: 'json', 
    contentType: 'application/json', 
    processData: false, 
    data: '{"foo":"bar"}', 
    success: function (data) { 
     alert(JSON.stringify(data)); 
    }, 
    error: function(){ 
     alert("Cannot get data"); 
    } 
}); 
+1

धन्यवाद, इसने मेरे प्रश्न का उत्तर दिया, यहां http://stackoverflow.com/questions/30992688/creating-task-using-wunderlist-api/31015511#31015511 –