origin has from enable domain cross control been allow javascript ajax firefox xmlhttprequest xss

javascript - has - xmlhttprequest cors



NS_ERROR_FAILURE: falla en Firefox (1)

Si puede usar jQuery, le sugiero que eche un vistazo a JSONP ( http://www.jquery4u.com/json/jsonp-examples/ ), esto permite efectivamente el dominio cruzado ajax.

Estoy usando el objeto XMLHttpRequest de javascript para enviar una solicitud a otra página (no en el mismo servidor o nombre de dominio) Obtengo un error ns_error_failure en firefox, pero el Javascript funciona en Google Chrome, después de buscar en línea parece ser debido al XSS de Firefox política. Las solicitudes de dominios cruzados no están permitidas.

¿Hay alguna forma de evitar esto y hacer que el JS se ejecute tanto en Chrome como en Firefox?

¡No dude en solicitar detalles adicionales que considere necesarios!

Aquí está el código que estaba usando.

"use strict"; function showFixed(username) { console.log("Entered script"); var url = ''https://api-dev.bugzilla.mozilla.org/latest/bug'' + ''?quicksearch='' + encodeURIComponent(''FIXED @''+username); displayBug(url); } function showPending(username) { console.log("Entered script"); var url = ''https://api-dev.bugzilla.mozilla.org/latest/bug'' + ''?quicksearch='' + encodeURIComponent(''@''+username); displayBug(url); } function showCC(username) { console.log("Entered script"); var url = ''https://api-dev.bugzilla.mozilla.org/latest/bug'' + ''?quicksearch='' + encodeURIComponent(''cc:''+username); displayBug(url); } function displayBug(url) { var xmlhttp = new XMLHttpRequest(); xmlhttp.open("GET",url,false); xmlhttp.send(); var text = xmlhttp.responseText; var json = JSON.parse(text); for(var i=0;i<json.bugs.length;i++) { var tempRow = document.createElement(''tr''); var tempId = document.createElement(''td''); tempId.innerHTML = ''<a href=/'https://bugzilla.mozilla.org/show_bug.cgi?id='' + json.bugs[i].id + ''/'>''+ json.bugs[i].id + ''</a>''; var tempCreator = document.createElement(''td''); tempCreator.innerHTML = json.bugs[i].creator.real_name; var tempShortDesc = document.createElement(''td''); tempShortDesc.innerHTML = json.bugs[i].summary; var tempComponent = document.createElement(''td''); tempComponent.innerHTML = json.bugs[i].component; var tempAssignee = document.createElement(''td''); tempAssignee.innerHTML = json.bugs[i].assigned_to.real_name; var tempWhiteBoard = document.createElement(''td''); tempWhiteBoard.innerHTML = json.bugs[i].whiteboard; var tempBugStatus = document.createElement(''td''); tempBugStatus.innerHTML = json.bugs[i].status; var tempResolution = document.createElement(''td''); tempResolution.innerHTML = json.bugs[i].resolution; var tempLastChange = document.createElement(''td''); tempLastChange.innerHTML = json.bugs[i].last_change_time; tempRow.appendChild(tempId); tempRow.appendChild(tempAssignee); tempRow.appendChild(tempCreator); tempRow.appendChild(tempBugStatus); tempRow.appendChild(tempShortDesc); tempRow.appendChild(tempLastChange); document.getElementById(''bugs-table-tbody'').appendChild(tempRow); } document.getElementById(''main'').innerHTML = ''''; } function wrapper() { var waitString = "Please wait while bug list is loaded..." document.getElementById(''main'').innerHTML = waitString;