मुझे AngularJS में $ http कॉल के साथ समस्याएं आ रही हैं। मैं निम्नलिखित सेवाओं
crApp.service('authService', function ($http) {
var urlBase = 'http://192.168.xx.xx:8081';
// POST api/login/
this.login = function (credentials) {
return $http.post(urlBase + "/api/login", credentials);
};
// POST api/logout/
this.logout = function() {
return $http.post(urlBase + "/api/logout/", "");
};
}); //end service
crApp.service('dataService', function ($http) {
var urlBase = 'http://192.168.xx.xx:8081';
// POST api/query/
this.pull = function (query) {
return $http.post(urlBase + "/api/query", query);
};
नियंत्रक मैं प्रवेश विधि फोन से बना लिया है:
$scope.login = function(){
authService.login(credentials)
.success(function(data) {
console.log("RESULT LOGIN: " + data);
})
.error(function(data, status, headers, config) {
console.log(data);
console.log(status);
console.log(headers);
console.log(config);
});
};
अब तक तो अच्छा है और मैं एक प्रतिक्रिया है, जहां एक कुकी सेट है प्राप्त करते हैं:
succesfull लॉगिन के बाद मैं निम्नलिखित विधि को कॉल करता हूं:
var locations = { query: "from location select uid, name, description, address, phone", dataFormat: "verbose" };
$scope.getLocations = function() {
dataService.pull(portals)
.success(function (data) {
console.log("RESULT QUERY: " + data)
})
.error(function(data, status, headers, config) {
console.log("Query niet gelukt!");
console.log(data);
console.log(status);
console.log(headers);
console.log(config);
});
};
परिणाम:
तो कुकी हेडर में सेट नहीं है। मैं AngularJS 1.3.15 का उपयोग कर रहा हूं और कॉल एक अलग डोमेन पर दूरस्थ सर्वर पर किए जाते हैं, लेकिन यह वेबस्टॉर्म (जेटब्रेन) में REST क्लाइंट टूल में काम करता है। तो यह कुछ ऐसा होना चाहिए जो मैं कोणीय में लापता हूं !?
उम्मीद है कि कोई मेरी मदद कर सकता है।
आपको क्लाइंट साइड पर 'क्रेडेंशियल्स' की आवश्यकता है, लेकिन आपको सर्वर की तरफ 'एक्सेस-कंट्रोल-अनुमति-प्रमाण-पत्र: सत्य' शीर्षलेख सेट करने की भी आवश्यकता है? यदि नहीं, तो यह काम नहीं करेगा। यदि आप मेरे द्वारा लिंक किए गए लेख के अंत की ओर देखते हैं, तो आप सर्वर की आवश्यकताओं को देखेंगे। – Scott
मेरे सहयोगी जो सर्वर-साइड के कोड का प्रबंधन करते हैं, यह सुनिश्चित है कि सबकुछ सर्वर पर सही है। अन्य विकल्प? – marlonlaan
@MarlonVanDerLaan इस तरह यह काम करता है, अगर यह उस गाइड के अनुसार सेटअप है जो आपने पोस्ट किया है, तो यह काम करेगा। मैं "बहुत यकीन" सत्यापित करूंगा क्योंकि यह एक महत्वपूर्ण हिस्सा है, यह एक शो स्टॉपर है। प्रतिक्रिया के लिए आपके उपरोक्त स्क्रीनशॉट में वह हेडर गुम है। – Scott