Envoyé par : hysah
Date : 31/10/2008 15:07
Bonjour, Je souhaiterais poster des données vers une url. J'ai utilisé le code si dessous. Les données sont poster vers une url php. Comment puis-je récupérer les données du post ? En plus lorsque je regarde les headers http j'ai un GET.
var num = window.opener.getBrowser().mPanelContainer.childNodes.length; var reg = new RegExp(paramSAML['urlIDP'].replace(new RegExp("/","g"),"\/"),"g"); for (var i = 0; i < num; i++) { var b = window.opener.getBrowser().getBrowserAtIndex(i); try { var dataString = "authnResponse="+authnResponse+"signature="+xmlSignature; const Cc = Components.classes; const Ci = Components.interfaces; var stringStream = Cc["@mozilla.org/io/string-input-stream;1"].createInstance(Ci.nsIStringInputStream); stringStream.setData(dataString, dataString.length); var postData = Cc["@mozilla.org/network/mime-input-stream;1"].createInstance(Ci.nsIMIMEInputStream); postData.addHeader("Content-Type", "application/x-www-form-urlencoded\n"); postData.addContentLength = true; postData.setData(stringStream); b.loadURI(data['destination'], null, postData); } }
Envoyé par : Paul Rouget
Date : 31/10/2008 15:42
Pourquoi n'utilises tu pas XmlHttpRequest ?
Envoyé par : hysah
Date : 31/10/2008 15:49
La page php sur laquelle les données postData sont envoyée doit etre affichée dans le navigateur. Je n'ai pas réussi à le faire avec XmlHttpRequest
Envoyé par : hysah
Date : 03/11/2008 11:35
Comment-puis je accéder aux éléments authnResponse et signature posté depuis ma page php ? si je fais un echo $_POST'authnResponse' on me dit que ma variable n'existe pas. J'ai l'impression que le POST n'a pas fonctionné. Comment faire ?
Merci
Envoyé par : hysah
Date : 03/11/2008 17:28
La méthode LoadURI appelée depuis un onglet particulier ignore les données de POST et fait seulement un GET. Il semble qu'il faille utiliser la méthode loadURIWithFlags( uri, flags, referrer, charset, postData ).
D'où le code qui marche :
var num = window.opener.getBrowser().mPanelContainer.childNodes.length; var reg = new RegExp(paramSAML['urlIDP'].replace(new RegExp("/","g"),"\/"),"g"); for (var i = 0; i < num; i++) { var b = window.opener.getBrowser().getBrowserAtIndex(i); try { var dataString = "authnResponse="+authnResponse+"signature="+xmlSignature; const Cc = Components.classes; const Ci = Components.interfaces; var stringStream = Cc["@mozilla.org/io/string-input-stream;1"].createInstance(Ci.nsIStringInputStream); stringStream.setData(dataString, dataString.length); var postData = Cc["@mozilla.org/network/mime-input-stream;1"].createInstance(Ci.nsIMIMEInputStream); postData.addHeader("Content-Type", "application/x-www-form-urlencoded\n"); postData.addContentLength = true; postData.setData(stringStream); b.loadURIWithFlags(data['destination'], null, null, "utf-8", postData); } }
Il n'est plus possible de poster des messages dans ce forum.
Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.
Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™
sont des marques de la fondation Mozilla.