के साथ cors अनुरोध को सक्षम करने के लिए मेरे पास एक angular.js एप्लिकेशन है और मुझे CORS अनुरोध करने की आवश्यकता है।angular.js-resource
मैं यहां वर्णित कोणीय संसाधनों का उपयोग करके अपनी शेष सेवाओं "कोणीय" को परिभाषित करना चाहता हूं: http://docs.angularjs.org/tutorial/step_11।
लेकिन मुझे यह काम करने का कोई तरीका नहीं मिला है। Google पर मुझे निम्नलिखित नमूना कोड मिला: http://jsfiddle.net/ricardohbin/E3YEt/, लेकिन ऐसा लगता है कि कोणीय संसाधनों के साथ काम नहीं करना है।
यह मेरा app.js
'use strict';
angular.module('corsClientAngularApp', ['helloServices'])
.config(function ($routeProvider) {
$routeProvider
.when('/', {
templateUrl: 'views/main.html',
controller: 'MainCtrl'
})
.otherwise({
redirectTo: '/'
});
});
है इस बाकी सेवाओं
angular.module('helloServices', ['ngResource']).
factory('Hello', function($resource){
return $resource('http://localhost:8080/cors-server/hello/:name', {}, {
query: {method:'GET', params:{name:'name'}, isArray:false}
});
});
यह $ http का उपयोग कर नियंत्रक के साथ मेरी main.js, इस काम करता है के साथ अपने services.js है !:
'use strict';
angular.module('corsClientAngularApp')
.controller('MainCtrl', function ($scope, $http, Hello) {
$http.defaults.useXDomain = true;
$http.get('http://localhost:8080/cors-server/hello/stijn')
.success(function(data) {
$scope.hello = data;
});
});
यह कोणीय संसाधनों का उपयोग करके मेरे main.js का एक और संस्करण है। यह काम नहीं करता :(
'use strict';
angular.module('corsClientAngularApp')
.controller('MainCtrl', function ($scope, $http, Hello) {
$http.defaults.useXDomain = true;
$scope.hello = Hello.query({name:'stijn'});
});
यह वह जगह है काम कर अनुरोध हेडर (Chrome DevTools से) कर रहे हैं:
Request URL:http://localhost:8080/cors-server/hello/stijn
Request Method:OPTIONS
Status Code:200 OK
Request Headers
Accept:*/*
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding:gzip,deflate,sdch
Accept-Language:nl-NL,nl;q=0.8,en-US;q=0.6,en;q=0.4
Access-Control-Request-Headers:accept, origin, x-requested-with
Access-Control-Request-Method:GET
Cache-Control:max-age=0
Connection:keep-alive
Host:localhost:8080
Origin:http://localhost:9000
Referer:http://localhost:9000/
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31
Response Headers
Access-Control-Allow-Headers:accept, origin, x-requested-with
Access-Control-Allow-Methods:GET
Access-Control-Allow-Origin:*
Content-Length:0
Date:Thu, 25 Apr 2013 10:42:34 GMT
Server:Apache-Coyote/1.1
और ये काम नहीं कर अनुरोध हेडर हैं:
Request URL:http://localhost/cors-server/hello/stijn
Request Method:OPTIONS
Status Code:200 OK
Request Headers
Accept:*/*
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding:gzip,deflate,sdch
Accept-Language:nl-NL,nl;q=0.8,en-US;q=0.6,en;q=0.4
Access-Control-Request-Headers:accept, origin, x-requested-with
Access-Control-Request-Method:GET
Cache-Control:max-age=0
Connection:keep-alive
Host:localhost
Origin:http://localhost:9000
Referer:http://localhost:9000/
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31
Response Headers
Allow:GET,HEAD,POST,OPTIONS,TRACE
Connection:Keep-Alive
Content-Length:0
Content-Type:text/plain
Date:Thu, 25 Apr 2013 10:41:12 GMT
Keep-Alive:timeout=5, max=100
Server:Apache/2.2.22 (Win32)
ऐसा लगता है कि कोणीय संसाधनों का उपयोग करते समय यूआरएल गलत है। लेकिन क्यों?
धन्यवाद रों!
'काम नहीं करता' में एक समस्या की परिभाषा नहीं है। ब्राउज़र कंसोल में अनुरोध का निरीक्षण करें और अधिक जानकारी प्रदान करें – charlietfl
मैंने अनुरोध हेडर – cremersstijn