함수에서 객체를 전달하려고합니다. 여기에 내 코드입니다 :구문 분석 함수에서 JSON obj를 전달 하시겠습니까? | noob javascript 질문
<script type="text/javascript">
// finds the head element; creates a script with passed url; appends it to the head
function loadJSON(url) {
var headID = document.getElementsByTagName("head")[0];
var newScript = document.createElement('script');
newScript.type = 'text/javascript'; // isn't this 'application/json' really?
newScript.src = url;
headID.appendChild(newScript);
}
function parseJSON(o) {
if (content == null) {
document.write("<p>parseJSON(): JSON failed.</p>");
return false;
}
isDST = "<strong>not</strong> ";
if (o.rawOffset == o.dstOffset) {
isDST = "";
}
document.getElementById("geonames").innerHTML = "<p>The time now is " + o.time + " in " + o.countryName +".</p>";
}
var lat = "47.01"; var long = "10.2"; // test data for austria
var jsonUrl = " {{URL}} ";
loadJSON(jsonUrl);
</script>
내가 뭘 원하는 것은 대신에 나는 물체를 통과 할 parseJSON 기능 내부의 O를 개체를 사용하는 그래서 그 loadJSON는() 나는 개체와 일을 할 수 호출 한 후. 나는 파스 (parse) 함수 안에서 innerHTML 호출을하는 것이 "깔끔"하지 않다는 것을 알았다.
나는 스크립트의 시작 부분에 "var jsonOutput"을 선언하고 "jsonOutput = o"을 만드는 등 많은 반복을 시도했지만 jsonOutput은 정의되지 않은 상태로 남겨 둡니다. jsonOutput을 반환하려고하면 반환되는 위치를 알 수 없으므로 어쨌든 사용할 수 없습니다.
글로벌 변수를 만들어야합니까? 간단한 "global jsonOutput"선언을 시도했지만 함수 내부에서 수정되지 않은 것 같습니다.
붙어있어주세요.
흠이는 parseJSON 콜백, 그래서는 JSON 코드를 대상으로 외부에서받은 "O", 즉 내가 함수 외부에 노출 할 데이터입니다. 나는 "var jsonOutput = {};"을 시도했다. (함수 안과 밖) "jsonOutput = o; return jsonOutput"을 설정하지만 그렇게하지는 않습니다. –