0
안녕하세요 :JSONP와 401 응답 내 웹 페이지에서 JSONP를 사용하여 자바 스크립트를 사용하여 아래의 코드 생성을 시도
function handleRefresh(url) {
console.log("here");
var newScriptElement = document.createElement("script");
newScriptElement.setAttribute("src", url);
newScriptElement.setAttribute("id", "jsonp");
var oldScriptElement = document.getElementById("jsonp");
var head = document.getElementsByTagName("head")[0];
if (oldScriptElement == null) {
head.appendChild(newScriptElement);
}
else {
head.replaceChild(newScriptElement, oldScriptElement);
}
}
function updateStats(stats) {
var salesDiv = document.getElementById("stats");
var newData = [];
if(!stats){
alert("need to log in");
}else{
alert("ok");
}
for (var s in stats)
{
var data = stats[s];
data.language = s;
newData.push(data.language);
}
for (var i = 0; i < newData.length; i++) {
var glossa = newData[i];
var stat = stats[glossa];
var div = document.createElement("div");
div.setAttribute("id", "progressbar");
var indicator = document.createElement("label");
indicator.setAttribute("id","indicator");
var checkbox = document.createElement('input');
checkbox.type = "checkbox";
checkboxname = glossa;
checkbox.value = "value";
checkbox.id = "id";
glossesArray[i]=glossa;
div.appendChild(checkbox);
div.appendChild(indicator);
var zaab = parseInt(stat.completed, 10);
//console.log(zaab);
if(zaab < 35){
indicator.innerHTML = glossa;
}else{
indicator.innerHTML = glossa + " : " + stat.completed;
}
indicator.style.width = stat.completed;
//indicator.innerHTML = glossa + " : " + stat.completed;
if (salesDiv.childElementCount == 0) {
salesDiv.appendChild(div);
}
else {
salesDiv.insertBefore(div, salesDiv.firstChild);
}
}
//alert(zaab);
if (stats.length > 0) {
lastReportTime = stats[stats.length-1].time;
}
}
아래의 코드를 사용하여 생성
<script src="https://{{ username }}:{{ password }}@www.link.com/api/2/project/link/resource/core/stats/?callback=updateStats&random=1343727774180" id="jsonp"></script>
문제가있는 경우이다를 내가 승인되지 않은 응답 (401)을 받기 전에 로그인하지 않으므로 어떻게 응답을 읽을 수 있습니까?
문제는 응답이 401 인 경우에 결코 저 기능이 결코 부르지 않는다이다! 그래서 나는 거기에서 아무것도 할 수 없다! 내 json 데이터를 얻으면 함수는 normall이라고 불린다. –
내 코드를 보여주기 위해 내 대답도 업데이트했습니다! –
하지만 (401 인 경우) 응답을 처리해야합니까? 그래서? – voodoo417