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.