[英]Javascript : how to pass value into function parameter?
function retrieveHasilRawatJalan() 函数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
contain JSON data and type of this variable is object, variable hasil_rawat_jalan2
包含JSON数据,并且此变量的类型为object,
i check type of variable hasil_rawat_jalan2, and call one of the data using this code 我检查变量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;
the result is this: 结果是这样的:
type of : object 类型:对象
value of {'1' {'klp_id' : [HL-004] 值{'1'{'klp_id':[HL-004]
object size :[8] 物件大小:[8]
start row : 1 开始行:1
content : [object Object] 内容:[对象对象]
the problem is when i put var number_of_row in function addNewRow() it doesnt do anything.
问题是,当我将var number_of_row放到函数addNewRow()中时,它什么都不做。 but it work if i put number directly like this
但是如果我直接输入数字就可以了
addNewRow(8).addNewRow(8)。 how to check the error?
如何检查错误?
The function is asynchronous (XMLHttpRequest is, actually). 该函数是异步的(实际上是XMLHttpRequest)。 It means that
hasil_rawat_jalan2
is not yet defined when you try to use it, because AJAX request doesn't pause subsequent program execution. 这意味着您尝试使用
hasil_rawat_jalan2
未定义,因为AJAX请求不会暂停后续程序的执行。 You need to move addNewRow
into onreadystatechange
callback and call it once response has become available: 您需要将
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.