<return $http.get().then(function(data){return 
massageData(data)}).catch(function(err){at 
least you have some error handling})
How do I consume that in my Controller if there is no function (getData()) 
anymore?

On Friday, September 5, 2014 2:14:22 PM UTC-5, mark goldin wrote:
>
> 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.

Reply via email to