[英]Javascript : how to pass value into function parameter?
函數removeHasilRawatJalan()
function retrieveHasilRawatJalan2(row, kd_klp) { var hasil_rawat_jalan2; var xhttp; if (window.XMLHttpRequest) { xhttp = new XMLHttpRequest(); } else { // code for IE6, IE5 xhttp = new ActiveXObject("Microsoft.XMLHTTP"); } xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (xhttp.readyState == 4 && xhttp.status == 200) { hasil_rawat_jalan2 = JSON.parse(xhttp.responseText); document.getElementById("type").innerHTML = "type of : " + typeof hasil_rawat_jalan2; document.getElementById("value").innerHTML = "value of {'1' {'klp_id' : [" + hasil_rawat_jalan2[1]['klp_id'] + "]"; document.getElementById("size").innerHTML = "object size :[" + parseInt(Object.size(hasil_rawat_jalan2)) + "]"; document.getElementById("row_start").innerHTML = "start row : " + row; document.getElementById("demo").innerHTML = "content : " + hasil_rawat_jalan2; } } xhttp.open("POST", "../lab/get_row_content_from_lab_code/" + kd_klp + "", true); xhttp.send(); //start from here the code is the same. var number_of_row = parseInt(Object.size(hasil_rawat_jalan2)); addNewRow(number_of_row); }
variable hasil_rawat_jalan2
包含JSON數據,並且此變量的類型為object,
我檢查變量hasil_rawat_jalan2的類型,並使用此代碼調用數據之一
document.getElementById("type").innerHTML = "type of : " + typeof hasil_rawat_jalan2;
document.getElementById("value").innerHTML = "value of {'1' {'klp_id' : [" + hasil_rawat_jalan2[1]['klp_id'] + "]";
document.getElementById("size").innerHTML = "object size : [" + parseInt(Object.size(hasil_rawat_jalan2)) + "]";
document.getElementById("row_start").innerHTML = "start row : " + row;
document.getElementById("demo").innerHTML = "content : " + hasil_rawat_jalan2;
結果是這樣的:
類型:對象
值{'1'{'klp_id':[HL-004]
物件大小:[8]
開始行:1
內容:[對象對象]
問題是,當我將var number_of_row放到函數addNewRow()中時,它什么都不做。 但是如果我直接輸入數字就可以了
addNewRow(8)。 如何檢查錯誤?
該函數是異步的(實際上是XMLHttpRequest)。 這意味着您嘗試使用hasil_rawat_jalan2
未定義,因為AJAX請求不會暫停后續程序的執行。 您需要將addNewRow
移到onreadystatechange
回調中,並在響應可用后調用它:
function retrieveHasilRawatJalan2(row, kd_klp) {
var hasil_rawat_jalan2;
var xhttp;
if (window.XMLHttpRequest) {
xhttp = new XMLHttpRequest();
} else {
// code for IE6, IE5
xhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (xhttp.readyState == 4 && xhttp.status == 200) {
hasil_rawat_jalan2 = JSON.parse(xhttp.responseText);
document.getElementById("type").innerHTML = "type of : " + typeof hasil_rawat_jalan2;
document.getElementById("value").innerHTML = "value of {'1' {'klp_id' : [" + hasil_rawat_jalan2[1]['klp_id'] + "]";
document.getElementById("size").innerHTML = "object size :[" + parseInt(Object.size(hasil_rawat_jalan2)) + "]";
document.getElementById("row_start").innerHTML = "start row : " + row;
document.getElementById("demo").innerHTML = "content : " + hasil_rawat_jalan2;
// Use hasil_rawat_jalan2
var number_of_row = parseInt(Object.size(hasil_rawat_jalan2));
addNewRow(number_of_row);
}
}
xhttp.open("POST", "../lab/get_row_content_from_lab_code/" + kd_klp + "", true);
xhttp.send();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.