2017-01-30 1 views
0

Ich möchte Image in Backed von Frontend hochladen .... Ich werde ngFileUploader Bower Component verwenden. Mein Frontend-Code ist:Cross-Ursprungs-Anfrage

function SampleController(SampleData,Upload,$http) { 
     var vm = this; 
     vm.uploadFiles = function(files, errFiles) { 
     Upload.upload({ 
     url: "localhost:5000/upload", //webAPI exposed to upload the file 
     data: { 
     file: files 
     } 
    }).then(function(resp) { 
     console.log(resp)}); 
    } 

und ich werde NGF-select in seine HTML-Datei hinzugefügt. Und es wird der Fehler angezeigt - XMLHttpRequest kann nicht laden localhost: 5000/upload. Cross-Ursprungsanforderungen werden nur für Protokollschemas unterstützt: http, data, chrome, chrome-extension, https, chrome-extension-resource. Wie kann ich es lösen?

+4

URL: "http: // localhost: 5000/Upload" ' –

+0

Die Vorderseite der URL wurde weggelassen. Wählen, um als Tippfehler zu schließen. – Quentin

+0

es wird wieder den Fehler geben - POST http: // localhost: 3000/Upload 404 (nicht gefunden) – raksha

Antwort

0

müssen Sie diese hinzufügen:

header('Access-Control-Allow-Headers: Content-Type'); 
header('Access-Control-Allow-Methods: GET, POST, OPTIONS'); 
header('Access-Control-Allow-Origin: *'); 

Mein Projekt Backend Laravel ist. Also, ich habe dies in Route-Datei aufgenommen.

+0

mein backened ist in expressJS. Also, ob ich diese Header-Dateien enthalten müssen – raksha

+0

besuchen Sie diese: http://stackoverflow.com/questions/11181546/how-to-enable-cross-origin-resource-sharing-cors-in-the-express-js-framework -o – Mohammed

0

hinzufügen cors Filter für Ihre Anwendung als Middleware

var app = require('express')(); 
app.use((req, res, next) => { 
    res.header('Access-Control-Allow-Origin', '*'); 
    res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept'); 
    res.header('Access-Control-Allow-Methods', ['GET', 'PUT', 'POST', 'DELETE']); 
    next(); 
}); 

Ich würde Sie weiße Liste, die Ursprünge empfehlen würden Sie erlauben.

+0

Nein .. Es funktioniert nicht ... wieder geben Sie den gleichen Fehler von post – raksha

+0

Bestätigen Sie, Ihr Server läuft auf: 3000 und Client auf: 5000? Wenn dies der Fall ist, muss die URL im Client http: // localhost: 3000/upload –

+0

sein. Ich bearbeite sie bereits. – raksha