Başka bir sayfaya (aynı sunucuda veya etki alanında değil) bir istek göndermek için javascript'in XMLHttpRequest nesnesini kullanıyorum Firefox'ta bir ns_error_failure hatası alıyorum, ancak Javascript çevrimiçi arama yaptıktan sonra Google Chrome'da çalışıyor Firefox'un XSS politikası yüzünden görünüyor. Alanlar arası isteklere izin verilmez.NS_ERROR_FAILURE: Firefox'taki hata
Bunun için çalışmak ve JS'yi hem krom hem de Firefox'ta çalıştırmak için herhangi bir yer var mı?
Lütfen ihtiyaç duyduğunuz ek ayrıntıları sormaya çekinmeyin!
Kullandığım kod şu şekildedir. jQuery kullanmak mümkün değilse
"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;
XMLHttpRequest etki alanları arası bir alanı nasıl çalıştırabilirsiniz? Chrome'da asla yükleyemiyorum ... –
Şey ... Neden işe yaradığını bilmiyorum, ama öyle. Bugzilla-api'ye istek gönderiyorum. İsterseniz kodlara bir göz atabilirsiniz. Krom 26'da test ettim, ayrıca eski kromlar ve kromlar üzerinde çalıştım. – ffledgling
Görmek ilginç olurdu, teşekkürler. –