que open example ejemplo javascript ajax jsonp

javascript - open - xmlhttprequest post json



JavaScript XMLHttpRequest usando JsonP (3)

JSONP no utiliza XMLHttpRequests.

La razón por la que se utiliza JSONP es para superar las restricciones de origen cruzado de los XHR.

En cambio, los datos se recuperan a través de un script.

function jsonp(url, callback) { var callbackName = ''jsonp_callback_'' + Math.round(100000 * Math.random()); window[callbackName] = function(data) { delete window[callbackName]; document.body.removeChild(script); callback(data); }; var script = document.createElement(''script''); script.src = url + (url.indexOf(''?'') >= 0 ? ''&'' : ''?'') + ''callback='' + callbackName; document.body.appendChild(script); } jsonp(''http://www.helloword.com'', function(data) { alert(data); });

En interés de la simplicidad, esto no incluye el manejo de errores si la solicitud falla. Use script.onerror si lo necesita.

Deseo enviar parámetros de solicitud a otro dominio

Ya sé que Cross Scripting necesita JsonP y he usado JsonP con Jquery ajax

pero no entiendo cómo hacer Cross Scripting como usando XMLHttpRequest

código siguiente mi código XMLHttpRequest básico.

Supongo que necesito xhr.setRequestHeader() y tengo que agregar el código de análisis

por favor dame alguna idea

var xhr; function createXMLHttpRequest(){ if(window.AtiveXObject){ xhr = new ActiveXObject("Microsoft.XMLHTTP"); }else{ xhr = new XMLHttpRequest(); } var url = "http://www.helloword.com"; } function openRequest(){ createXMLHttpRequest(); xhr.onreadystatechange = getdata; xhr.open("POST",url,true); xhr.setRequestHeader("Content-Type",''application/x-www-form-urlencoded''); xhr.send(data); } function getdata(){ if(xhr.readyState==4){ if(xhr.status==200){ var txt = xhr.responseText; alert(txt); } } }


No puede hacer Cross Scripting usando XMLHttpRequest. Si desea cruzar un dominio sin Jquery, debe crear un nuevo nodo de script y establecer el atributo src del mismo.


Sé que ya obtuviste la respuesta, pero si alguien más quiere un ejemplo de alguien que hace promesas, aquí hay una.

function jsonp(url) { return new Promise(function(resolve, reject) { let script = document.createElement(''script'') const name = "_jsonp_" + Math.round(100000 * Math.random()); //url formatting if (url.match(//?/)) url += "&callback="+name else url += "?callback="+name script.src = url; window[name] = function(data) { resolve(data); document.body.removeChild(script); delete window[name]; } document.body.appendChild(script); }); } var data = jsonp("https://www.google.com"); data.then((res) => { console.log(res); });