2017-06-21 5 views
0

Je crée une extension safari et dans le backend j'utilise python pour sauvegarder les données. Mais je ne peux pas appeler la fonction python, il me donne cette erreur:Comment appeler la fonction python à partir de l'extension safari

Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. 

Ceci est mon url fonction python: http://localhost:8000/polls/add

J'utilise jquery/ajax pour appeler la fonction python

Ceci est mon code de script:

var action_url ="localhost:8000/polls/add"; 
params = 'contact_name=abc&[email protected]&content=here is content'; 
$.ajax({ 
    url: action_url, 
    type: 'GET', 
    beforeSend: function(xhr){ 
     xhr.setRequestHeader('Access-Control-Allow-Ori‌​gin', 'localhost'); 
    }, 
    xhrFields: { withCredentials: true }, 
    crossDomain: true, 
    data: JSON.stringify(params), 
    error: function (e) { alert('error = '+e) }, 
    success: function (data) { alert(data); } 
}); 
+0

Veuillez éditer votre question au lieu d'ajouter des commentaires. – GGG

+0

Salut GGG, Merci pour votre réponse. Ok, édité – dev

Répondre

0

Il semble que vous avez un problème CORS. Essayez de le désactiver à partir de Safari, check this out peut-être que cela aide.

+0

Salut Vitalie Maldur, Oui, j'ai le problème de CORS, j'ai vérifié votre réponse mais cela ne m'aide pas. – dev

+0

Avez-vous essayé de définir le paramètre 'Access-Control-Allow-Origin: *' sur la réponse de votre serveur? pas sur votre demande. –

+0

Oui, je Posé comme cela, c'est ma définition def HelloWorld(): resp = make_response() resp.headers [ 'Access-Control-Allow-Origin'] = '*' retour resp obtenir la même erreur – dev