Jumped to conclusion too quickly. The file is in black now, but the error is still there.
On Friday, September 5, 2014 2:06:34 PM UTC-5, mark goldin wrote: > > That was it! Added it to my web.config and no more errors. > Thanks for the help. > > On Friday, September 5, 2014 1:54:39 PM UTC-5, Thomas Murphy wrote: >> >> I'd be willing to put a bit of money on it throwing a CORS if you're not >> running your angular app against a server. >> >> >> >> On Fri, Sep 5, 2014 at 2:50 PM, Eric Eslinger <[email protected]> >> wrote: >> >>> If the chrome dev tools are showing a red status, then the error isn't >>> in your promise handling, it's in the actual fetching of the file - that >>> file isn't being properly served by your backend, or isn't being served the >>> way you think it is (you may need to set cookies or a token to access it, >>> etc - it depends on your server setup). >>> >>> e >>> >>> >>> On Fri, Sep 5, 2014 at 11:48 AM, mark goldin <[email protected]> wrote: >>> >>>> Tools will show the same info even if I try to access non existent file. >>>> >>>> >>>> On Friday, September 5, 2014 1:43:35 PM UTC-5, mark goldin wrote: >>>>> >>>>> The url is correct, I am not fully showing it. >>>>> In the Tools the file is in Red.Status text Canceled. Can't see any >>>>> more info about failure. >>>>> >>>>> On Friday, September 5, 2014 1:34:28 PM UTC-5, Eric Eslinger wrote: >>>>>> >>>>>> You can just treat $http.get() as a promise. You don't have to >>>>>> directly instantiate a second promise unless you're doing something >>>>>> funky. >>>>>> >>>>>> return $http.get().then(function(data){return >>>>>> massageData(data)}).catch(function(err){at least you have some error >>>>>> handling}) >>>>>> >>>>>> Also, if you're getting an error, what's the failed? At the very >>>>>> least, I'm 99.9% sure that http://localhost:/localfile.txt is an >>>>>> incorrect url. Don't you have to put a port after a : in a host >>>>>> definition? >>>>>> so either localhost/localfile or localhost:3000/localfile. So it could >>>>>> be >>>>>> that your $http.get is just failing. You can get more information on >>>>>> this >>>>>> in the chrome debug tools - look at your network requests, and it should >>>>>> show the localfile.txt XHR, and either be black (success!) or red >>>>>> (fails!) >>>>>> and have more information there. >>>>>> >>>>>> e >>>>>> >>>>>> >>>>>> On Fri, Sep 5, 2014 at 10:54 AM, mark goldin <[email protected]> >>>>>> wrote: >>>>>> >>>>>>> Actually I am rather getting alert that says Error. >>>>>>> >>>>>>> >>>>>>> On Friday, September 5, 2014 12:52:33 PM UTC-5, mark goldin wrote: >>>>>>>> >>>>>>>> Ok, I have changed my code. Here it is: >>>>>>>> >>>>>>>> Service >>>>>>>> angular.module('myModule').factory("service", function ($http, $q) >>>>>>>> { >>>>>>>> >>>>>>>> var requestUri = 'http://localhost:/localfile.txt'; >>>>>>>> return { >>>>>>>> getData : function(){ >>>>>>>> var deferred = $q.defer(); >>>>>>>> var response = $http.get(requestUri); >>>>>>>> response.success(function (data) { >>>>>>>> deferred.resolve(data); >>>>>>>> }); >>>>>>>> response.error(function (data) { >>>>>>>> alert('Error'); >>>>>>>> }); >>>>>>>> // Return the promise to the controller >>>>>>>> return deferred.promise; >>>>>>>> } >>>>>>>> } >>>>>>>> }); >>>>>>>> >>>>>>>> Controller: >>>>>>>> var promise = service.getData(); >>>>>>>> $scope.data = promise.then(function (data) { >>>>>>>> alert('Success: ' + data); >>>>>>>> }, function (reason) { >>>>>>>> alert('Failed: ' + reason); >>>>>>>> } >>>>>>>> ); >>>>>>>> When I run it I get the alert that says Failed ... >>>>>>>> >>>>>>>> BTW, if I change my service to this: >>>>>>>> getData : function(){ >>>>>>>> var deferred = $q.defer(); >>>>>>>> deferred.resolve('1234'); >>>>>>>> return deferred.promise; >>>>>>>> } >>>>>>>> Then I get Success >>>>>>>> >>>>>>>> On Friday, September 5, 2014 11:32:42 AM UTC-5, Thomas Murphy wrote: >>>>>>>>> >>>>>>>>> Great, so let's focus on what's happening in the controller. As >>>>>>>>> Sander said, you're returning a promise from you service. *That >>>>>>>>> promise needs to be resolved. *Check out the documentation here >>>>>>>>> on the syntax, and see if it doesn't provide you the data you're >>>>>>>>> expecting. >>>>>>>>> https://docs.angularjs.org/api/ng/service/$q >>>>>>>>> >>>>>>>>> Feel free to paste in a bit more of your controller code too. >>>>>>>>> >>>>>>>>> >>>>>>>>> On Fri, Sep 5, 2014 at 12:28 PM, mark goldin <[email protected]> >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>>> 1. serviceName.getData(); >>>>>>>>>> 2. The url points to a text file on the local web server. >>>>>>>>>> Navigating from Browser to the file opens it with no problem. >>>>>>>>>> >>>>>>>>>> On Friday, September 5, 2014 9:58:27 AM UTC-5, Thomas Murphy >>>>>>>>>> wrote: >>>>>>>>>>> >>>>>>>>>>> 1. What are you doing in the controller once you call >>>>>>>>>>> serviceName.getData()? >>>>>>>>>>> 2. What url are you calling in $http.get? If you're not calling >>>>>>>>>>> anything, you'll get no data. >>>>>>>>>>> >>>>>>>>>>> Best, >>>>>>>>>>> Thomas >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On Fri, Sep 5, 2014 at 10:49 AM, mark goldin <[email protected] >>>>>>>>>>> > wrote: >>>>>>>>>>> >>>>>>>>>>>> I also found this code: >>>>>>>>>>>> function ($http, $q) { >>>>>>>>>>>> return { >>>>>>>>>>>> getData : function(){ >>>>>>>>>>>> var deferred = $q.defer(); >>>>>>>>>>>> var promise = $http.get(url).success(function >>>>>>>>>>>> (response) { >>>>>>>>>>>> deferred.resolve(response); >>>>>>>>>>>> }); >>>>>>>>>>>> // Return the promise to the controller >>>>>>>>>>>> return deferred.promise; >>>>>>>>>>>> } >>>>>>>>>>>> } >>>>>>>>>>>> >>>>>>>>>>>> and in controller to get data: serviceName.getData(); >>>>>>>>>>>> >>>>>>>>>>>> but I get no data. Can you please explain why is not working? >>>>>>>>>>>> >>>>>>>>>>>> Thanks >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> On Friday, September 5, 2014 9:39:49 AM UTC-5, mark goldin >>>>>>>>>>>> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>> Ok, I see how it works. >>>>>>>>>>>>> Another question. Is it possible to have just one function >>>>>>>>>>>>> *MyTestService >>>>>>>>>>>>> *and run it like this? >>>>>>>>>>>>> <div ng-controller='*MyTestService *as vm'> >>>>>>>>>>>>> <p>the result from the service load:</p> >>>>>>>>>>>>> <pre>{{vm.data|json}}</pre> >>>>>>>>>>>>> </div> >>>>>>>>>>>>> >>>>>>>>>>>>> On Friday, September 5, 2014 9:28:42 AM UTC-5, mark goldin >>>>>>>>>>>>> wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>> What vm.data shown in index.html would come from if I remove >>>>>>>>>>>>>> the TestMyService function? >>>>>>>>>>>>>> >>>>>>>>>>>>>> On Friday, September 5, 2014 1:32:11 AM UTC-5, Sander Elias >>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Hi Mark, >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> You mean something like this: http://plnkr.co/edit/5cE >>>>>>>>>>>>>>> NSfOAhKJDI0iwe6ZV?p=preview >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Regards >>>>>>>>>>>>>>> Sander >>>>>>>>>>>>>>> >>>>>>>>>>>>>> -- >>>>>>>>>>>> You received this message because you are subscribed to the >>>>>>>>>>>> Google Groups "AngularJS" group. >>>>>>>>>>>> To unsubscribe from this group and stop receiving emails from >>>>>>>>>>>> it, send an email to [email protected]. >>>>>>>>>>>> To post to this group, send email to [email protected]. >>>>>>>>>>>> Visit this group at http://groups.google.com/group/angular. >>>>>>>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>> You received this message because you are subscribed to the >>>>>>>>>> Google Groups "AngularJS" group. >>>>>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>>>>> send an email to [email protected]. >>>>>>>>>> To post to this group, send email to [email protected]. >>>>>>>>>> Visit this group at http://groups.google.com/group/angular. >>>>>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>> You received this message because you are subscribed to the Google >>>>>>> Groups "AngularJS" group. >>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>> send an email to [email protected]. >>>>>>> To post to this group, send email to [email protected]. >>>>>>> Visit this group at http://groups.google.com/group/angular. >>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>> >>>>>> >>>>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "AngularJS" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected]. >>>> To post to this group, send email to [email protected]. >>>> Visit this group at http://groups.google.com/group/angular. >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "AngularJS" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> To post to this group, send email to [email protected]. >>> Visit this group at http://groups.google.com/group/angular. >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> -- You received this message because you are subscribed to the Google Groups "AngularJS" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/angular. For more options, visit https://groups.google.com/d/optout.
