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.

Reply via email to