我正在寫幾個函數在js中調用對方,我發現在執行順序中出現了意外(由我)行爲。在javascript中的意外執行順序
<script type="text/javascript">
function rellenarProveedores() {
var dProveedores = document.getElementById('Proveedor');
var proveedorActual = document.getElementById('proveedorActual').value;
while (dProveedores.options.length > 0) {
dProveedores.remove(0);
}
var opt = document.createElement('option');
opt.text = 'SELECCIONAR PROVEEDOR';
opt.value = '';
dProveedores.appendChild(opt);
var url = '/Incidencias/ObtenerProveedores';
var array = lecturaBD(url);
alert('LECTURA OBTENIDA: '+array);
for (var i = 0; i < array.length; i++) {
var opt = document.createElement('option');
var obj = array[i];
opt.text = obj.Nombre;
opt.value = obj.ProveedorID;
if (obj.ProveedorID == proveedorActual) {
opt.selected = true;
}
dProveedores.appendChild(opt);
}
}
function lecturaBD(param) {
var enviarData;
var salida;
$.ajax({
url: param,
type: 'POST',
contentType: 'application/json;',
data: enviarData,
success: function (data) {
alert('LECTURA BD: '+data);
salida = data;
},
error: function (data) { alert('Error'); }
});
return salida;
}
window.onload = function() { rellenarProveedores() };
</script>
據我打的電話,我期待看到:
警報( 'LECTURA BD:' +數據);
alert('LECTURA OBTENIDA:'+ array);
但是,順序是完全相反的,它會導致我的結果失敗。這有什麼合乎邏輯的原因嗎?
作爲額外的信息,我在.net MVC和Chrome中使用它。
Ajax是** **異步。 – undefined