Connect local django backend with angular 7












0















I exposed API in Django backend. I want to get that API request from Angular 7. so I implemented the code that



this.HttpClient.get('Http://127.0.0.1:8000/myapp/posts')
.subscribe(
(data:any) => {
console.log(data)
}
)



But I'm getting an error that



Access to XMLHttpRequest at 'http://127.0.0.1:8000/myapp/posts' from origin 'http://localhost:4200' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.



HttpErrorResponse {headers: HttpHeaders, status: 0, statusText: "Unknown Error", url: null, ok: false, …}error: ProgressEvent {isTrusted: true, lengthComputable: false, loaded: 0, total: 0, type: "error", …}headers: HttpHeaders {normalizedNames: Map(0), lazyUpdate: null, headers: Map(0)}message: "Http failure response for (unknown url): 0 Unknown Error"name: "HttpErrorResponse"ok: falsestatus: 0statusText: "Unknown Error"url: null__proto__: HttpResponseBase



Could anyone suggest any solution to solve this error?










share|improve this question





























    0















    I exposed API in Django backend. I want to get that API request from Angular 7. so I implemented the code that



    this.HttpClient.get('Http://127.0.0.1:8000/myapp/posts')
    .subscribe(
    (data:any) => {
    console.log(data)
    }
    )



    But I'm getting an error that



    Access to XMLHttpRequest at 'http://127.0.0.1:8000/myapp/posts' from origin 'http://localhost:4200' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.



    HttpErrorResponse {headers: HttpHeaders, status: 0, statusText: "Unknown Error", url: null, ok: false, …}error: ProgressEvent {isTrusted: true, lengthComputable: false, loaded: 0, total: 0, type: "error", …}headers: HttpHeaders {normalizedNames: Map(0), lazyUpdate: null, headers: Map(0)}message: "Http failure response for (unknown url): 0 Unknown Error"name: "HttpErrorResponse"ok: falsestatus: 0statusText: "Unknown Error"url: null__proto__: HttpResponseBase



    Could anyone suggest any solution to solve this error?










    share|improve this question



























      0












      0








      0








      I exposed API in Django backend. I want to get that API request from Angular 7. so I implemented the code that



      this.HttpClient.get('Http://127.0.0.1:8000/myapp/posts')
      .subscribe(
      (data:any) => {
      console.log(data)
      }
      )



      But I'm getting an error that



      Access to XMLHttpRequest at 'http://127.0.0.1:8000/myapp/posts' from origin 'http://localhost:4200' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.



      HttpErrorResponse {headers: HttpHeaders, status: 0, statusText: "Unknown Error", url: null, ok: false, …}error: ProgressEvent {isTrusted: true, lengthComputable: false, loaded: 0, total: 0, type: "error", …}headers: HttpHeaders {normalizedNames: Map(0), lazyUpdate: null, headers: Map(0)}message: "Http failure response for (unknown url): 0 Unknown Error"name: "HttpErrorResponse"ok: falsestatus: 0statusText: "Unknown Error"url: null__proto__: HttpResponseBase



      Could anyone suggest any solution to solve this error?










      share|improve this question
















      I exposed API in Django backend. I want to get that API request from Angular 7. so I implemented the code that



      this.HttpClient.get('Http://127.0.0.1:8000/myapp/posts')
      .subscribe(
      (data:any) => {
      console.log(data)
      }
      )



      But I'm getting an error that



      Access to XMLHttpRequest at 'http://127.0.0.1:8000/myapp/posts' from origin 'http://localhost:4200' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.



      HttpErrorResponse {headers: HttpHeaders, status: 0, statusText: "Unknown Error", url: null, ok: false, …}error: ProgressEvent {isTrusted: true, lengthComputable: false, loaded: 0, total: 0, type: "error", …}headers: HttpHeaders {normalizedNames: Map(0), lazyUpdate: null, headers: Map(0)}message: "Http failure response for (unknown url): 0 Unknown Error"name: "HttpErrorResponse"ok: falsestatus: 0statusText: "Unknown Error"url: null__proto__: HttpResponseBase



      Could anyone suggest any solution to solve this error?







      django angular angular-services angular7






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 28 '18 at 10:30









      Goncalo Peres

      1,4691619




      1,4691619










      asked Nov 14 '18 at 15:17









      suganthan sivananthansuganthan sivananthan

      356




      356
























          1 Answer
          1






          active

          oldest

          votes


















          1














          When sending HTTP requests from your front-end application, using the browser's fetch API, the Axios client or the jQuery $.ajax() method (a wrapper for the JavaScript XHR interface), to your back-end API built with Django REST framework the web browser will throw an error related to the Same Origin Policy.



          Cross Origin Resource Sharing or CORS allows client applications to interface with APIs hosted on different domains by enabling modern web browsers to bypass the Same origin Policy which is enforced by default.



          Ref how to do it here: https://www.techiediaries.com/django-cors/



          you need to add a middleware file app/cors.py:



          class CorsMiddleware(object):
          def process_response(self, req, resp):
          response["Access-Control-Allow-Origin"] = "*"
          return response


          This will add an Access-Control-Allow-Origin:* header to every Django request but before that you need to add it to the list of middleware classes:



          MIDDLEWARE_CLASSES = (
          #...
          'app.CorsMiddleware'
          )


          Then install the django-cors-headers



          Start by installing django-cors-headers using pip



          pip install django-cors-headers






          share|improve this answer























            Your Answer






            StackExchange.ifUsing("editor", function () {
            StackExchange.using("externalEditor", function () {
            StackExchange.using("snippets", function () {
            StackExchange.snippets.init();
            });
            });
            }, "code-snippets");

            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "1"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53303404%2fconnect-local-django-backend-with-angular-7%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            1














            When sending HTTP requests from your front-end application, using the browser's fetch API, the Axios client or the jQuery $.ajax() method (a wrapper for the JavaScript XHR interface), to your back-end API built with Django REST framework the web browser will throw an error related to the Same Origin Policy.



            Cross Origin Resource Sharing or CORS allows client applications to interface with APIs hosted on different domains by enabling modern web browsers to bypass the Same origin Policy which is enforced by default.



            Ref how to do it here: https://www.techiediaries.com/django-cors/



            you need to add a middleware file app/cors.py:



            class CorsMiddleware(object):
            def process_response(self, req, resp):
            response["Access-Control-Allow-Origin"] = "*"
            return response


            This will add an Access-Control-Allow-Origin:* header to every Django request but before that you need to add it to the list of middleware classes:



            MIDDLEWARE_CLASSES = (
            #...
            'app.CorsMiddleware'
            )


            Then install the django-cors-headers



            Start by installing django-cors-headers using pip



            pip install django-cors-headers






            share|improve this answer




























              1














              When sending HTTP requests from your front-end application, using the browser's fetch API, the Axios client or the jQuery $.ajax() method (a wrapper for the JavaScript XHR interface), to your back-end API built with Django REST framework the web browser will throw an error related to the Same Origin Policy.



              Cross Origin Resource Sharing or CORS allows client applications to interface with APIs hosted on different domains by enabling modern web browsers to bypass the Same origin Policy which is enforced by default.



              Ref how to do it here: https://www.techiediaries.com/django-cors/



              you need to add a middleware file app/cors.py:



              class CorsMiddleware(object):
              def process_response(self, req, resp):
              response["Access-Control-Allow-Origin"] = "*"
              return response


              This will add an Access-Control-Allow-Origin:* header to every Django request but before that you need to add it to the list of middleware classes:



              MIDDLEWARE_CLASSES = (
              #...
              'app.CorsMiddleware'
              )


              Then install the django-cors-headers



              Start by installing django-cors-headers using pip



              pip install django-cors-headers






              share|improve this answer


























                1












                1








                1







                When sending HTTP requests from your front-end application, using the browser's fetch API, the Axios client or the jQuery $.ajax() method (a wrapper for the JavaScript XHR interface), to your back-end API built with Django REST framework the web browser will throw an error related to the Same Origin Policy.



                Cross Origin Resource Sharing or CORS allows client applications to interface with APIs hosted on different domains by enabling modern web browsers to bypass the Same origin Policy which is enforced by default.



                Ref how to do it here: https://www.techiediaries.com/django-cors/



                you need to add a middleware file app/cors.py:



                class CorsMiddleware(object):
                def process_response(self, req, resp):
                response["Access-Control-Allow-Origin"] = "*"
                return response


                This will add an Access-Control-Allow-Origin:* header to every Django request but before that you need to add it to the list of middleware classes:



                MIDDLEWARE_CLASSES = (
                #...
                'app.CorsMiddleware'
                )


                Then install the django-cors-headers



                Start by installing django-cors-headers using pip



                pip install django-cors-headers






                share|improve this answer













                When sending HTTP requests from your front-end application, using the browser's fetch API, the Axios client or the jQuery $.ajax() method (a wrapper for the JavaScript XHR interface), to your back-end API built with Django REST framework the web browser will throw an error related to the Same Origin Policy.



                Cross Origin Resource Sharing or CORS allows client applications to interface with APIs hosted on different domains by enabling modern web browsers to bypass the Same origin Policy which is enforced by default.



                Ref how to do it here: https://www.techiediaries.com/django-cors/



                you need to add a middleware file app/cors.py:



                class CorsMiddleware(object):
                def process_response(self, req, resp):
                response["Access-Control-Allow-Origin"] = "*"
                return response


                This will add an Access-Control-Allow-Origin:* header to every Django request but before that you need to add it to the list of middleware classes:



                MIDDLEWARE_CLASSES = (
                #...
                'app.CorsMiddleware'
                )


                Then install the django-cors-headers



                Start by installing django-cors-headers using pip



                pip install django-cors-headers







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Nov 14 '18 at 15:33









                SenthilSenthil

                8021615




                8021615
































                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53303404%2fconnect-local-django-backend-with-angular-7%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    Bressuire

                    Vorschmack

                    Quarantine