js中是否可以挂起???

Gump09 2006-02-22 07:06:18
我现在在修改一些页面。其中有一项需求就是在提交前需要从服务器取一些数据。我用了js从服务器去取数据,但我发现由于我去数据的函数是写在一个js文件里的从页面执行这个函数之后js没有等待返回值而直接往下走了,结果提交了叶面但数据在提交时还没有取到。我想问一下怎么才能让js挂起等待返回值呢?
js文件中的函数:
var http_request = false;
function send_request(url, date) {
http_request = false;
// mozilla
if(window.XMLHttpRequest) {
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
http_request.overrideMimeType('text/xml');
}
}
// ie
else if (window.ActiveXObject) {
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) {
window.alert("can not creat XMLHttpRequest object");
return false;
}
http_request.onreadystatechange = processRequest;
//http_request.open("GET", url, true);
//http_request.send(null);
http_request.open("POST", url, true);
http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

http_request.send("date=" + date.value);
}
// process function
function processRequest() {

if (http_request.readyState == 4) { // 判断对象状态
if (http_request.status == 200) {
//loadbody=http_request.responseText;
//responseXmlHandler(req.responseXML);
// success
loadready(http_request.responseXML);
} else {
alert("exception occured");
}
}
else
{
loadwait();
}
}
// do nothing
function loadwait() {

}
var gStartDay = "";
var gEndDay = "";
var gYear = "";
var gFiscalYear = "";
var gMonth = "";
var gWeek = "";
function loadready(cartXML) {
// get root
var cart = cartXML.getElementsByTagName("date");
for(var i=0;i<cart.length;i++) {
var date = cart[i];
gStartDay = date.getElementsByTagName("start")[0].firstChild.data;
gEndDay = date.getElementsByTagName("end")[0].firstChild.data;
document.all("dfdTeEffPhaseInDate") = gStartDay;
document.all("dfdTeEffPhaseOutDate") = gEndDay;
//gYear = date.getElementsByTagName("year")[0].firstChild.data;
//gFiscalYear = date.getElementsByTagName("fiscalYear")[0].firstChild.data;
//gMonth = date.getElementsByTagName("fiscalYear")[0].firstChild.data;
//gWeek = date.getElementsByTagName("week")[0].firstChild.data;
}
}

jsp叶面:
send_request("getDate.do", document.all("dfdTeStandardDate"));
document.forms[0].action = "teSalesForecastBudgetWeekQueryAction.do";
document.forms[0].submit();
...全文
322 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
Gump09 2006-02-23
  • 打赏
  • 举报
回复
是不是大家都没看到阿?
我顶

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧