setrequestheader example ejemplo ajax xmlhttprequest

ajax - example - Permiso denegado cuando se utiliza XMLHttpRequest.Open acceso de navegador cruzado



xmlhttprequest example (4)

Aquí hay un ejemplo bastante conciso

Intenta hacer tu URL http://recpushdata.cyndigo.com/Jobs.asmx/InsertXML

PD. Tu código no se puede leer en StackOverflow.

Estoy intentando acceder al método XMLHTTPRequest.open Incluso he incluido netscape.security.PrivilegeManager.enablePrivilege ("UniversalBrowserRead");

pero aún no está funcionando.

Estoy usando javascript y HTML para acceder al servicio web.

Cualquier ayuda sería realmente genial

Código

<html> <Head> <Title>Calling A WebService from HTML </Title> </Head>

<Body onload=''GetDataFrmWS()''> <form name="Form1" id="Form1" runat="server" method="post"> <div id="DisplayData" > </div> <div id="Menu2"></div>

</form>

<script language=''javascript''>

var objHttp; var objXmlDoc;

function GetDataFrmWS() { alert(''I M Here''); var func = getDataFromWS();

}

function getDataFromWS() {

if(window.ActiveXObject) { try { objHttp = new ActiveXObject(''Msxml2.XMLHTTP'');

} catch (ex) { objHttp = new ActiveXObject(''Microsoft.XMLHTTP''); }

} else if (window.XMLHttpRequest) {objHttp = new window.XMLHttpRequest (); netscape.security.PrivilegeManager.enablePrivilege ("UniversalBrowserRead"); }

strEnvelope = ''<soap: Envelope xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance" xmlns: xsd = "http://www.w3.org/2001/XMLSchema" xmlns: soap = "http://schemas.xmlsoap.org/soap/envelope/"> ''+'' <soap: Body> ''+'' <HelloWorld xmlns = "http://tempuri.org/"> ''+'' <Dummy xsi : type = "xsd: string"> Hola </ Dummy> ''+'' </ HelloWorld> ''+'' </ soap: Body> ''+'' </ soap: Envelope> '';

var szUrl; szUrl = '' http: //kamadhenu/Quoteme/GetCategories.asmx? op = HelloWorld ''; objHttp.onreadystatechange = HandleResponse;

objHttp.open (''POST'', szUrl, verdadero); objHttp.setRequestHeader (''Content-Type'', ''text / xml''); objHttp.setRequestHeader (''SOAPAction'', '' http://tempuri.org/HelloWorld ''); objHttp.send (strEnvelope);

}

function HandleResponse () {
if (objHttp.readyState == 4) {

if (window.ActiveXObject) {objXmlDoc = new ActiveXObject ("Microsoft.XMLDOM"); objXmlDoc.async = "falso"; objXmlDoc.loadXML (objHttp.responseText); var nodeSelect = objXmlDoc.getElementsByTagName ("Menú1"). elemento (0); var Menu2 = objXmlDoc.getElementsByTagName ("Menú2"). elemento (0); document.getElementById (''DisplayData''). innerHTML = nodeSelect.text;
document.getElementById (''Menu2''). innerHTML = Menu2.text; } else {var Text = objHttp.responseText; var parser = new DOMParser (); objXmlDoc = parser.parseFromString (Texto, ''texto / xml''); var Value = objXmlDoc.documentElement.childNodes [0] .childNodes [0] .childNodes [0] .childNodes [0] .childNodes [0] .childNodes [0] .childNodes [0] .nodeValue; var Menu2 = objXmlDoc.documentElement.childNodes [0] .childNodes [0] .childNodes [0] .childNodes [0] .childNodes [0] .childNodes [1] .childNodes [0] .nodeValue; var Menu3 = objXmlDoc.documentElement.childNodes [0] .childNodes [0] .childNodes [0] .childNodes [0] .childNodes [0] .childNodes [1] .childNodes [1] .nodeValue; document.getElementById (''DisplayData''). innerHTML = Value;
document.getElementById (''Menú2''). innerHTML = Menú2; document.getElementById (''Menú2''). innerHTML + = Menú3; }}

}

</ script> <input type = ''Button'' Text = ''Click Me'' onclick = ''GetDataFrmWS ()'' value = "¡Haga clic en mí!" /> ° </ Body> </ HTML>


Por lo que sé, la solicitud XMLHTTP debe apuntar a una página en el mismo subdominio de la página html para los permisos de los diversos navegadores.

Un truco es hacer otra página en el mismo servidor en su idioma preferido y hacer que maneje la solicitud con la red del servidor.

Ejemplo:

desde su página HTML, realiza una solicitud de ajax a mydomain.com/externalrequest.php?url=www.google.com y esa página se conectará (fsock / cURL, etc.) a "url" y la devolverá


Si intentas cruzar dominios con XHR, puedes mirar el método JSONP. Verifique los documentos de JQuery para eso.

Le requerirá que acepte la respuesta JSON, pero funciona en todos los dominios.


Código independiente del navegador para XML HTTPRequest

Uso el siguiente código para crear un objeto XML. Ha sido diseñado para manejar todos los navegadores (especialmente IE y no IE)

/* Function to create an XMLHTTP object for all browsers */ function getXMLHTTPObject(){ var xmlHttp; try{ // Firefox, Opera 8.0+, Safari xmlHttp=new XMLHttpRequest(); } catch (e){ // Internet Explorer try{ xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); }catch (e){ try{ xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); }catch (e){ alert("Your browser does not support AJAX!"); return false; } } } return xmlHttp; } /* End Function */

PD: el código en la pregunta no es legible. Pls lo formatea