+ -
当前位置:首页 → 问答吧 → 不用ajax怎么执行服务端的方法?? 或者js怎么保证同步??

不用ajax怎么执行服务端的方法?? 或者js怎么保证同步??

时间:2011-06-23

来源:互联网

我要解决的问题是:
判断数据表里面相应数据有孩子结点,则创建新的input


服务端的程序没问题,会返回true或false的串到前端


我前端js里是用ajax去取服务端的返回值,类似方法为

//ajax判断是否有孩子
function hasNext(id)
{
var bRet=false;
var url = 'utilwindow.html';
var a = {
src:'ajaxHasChildArea',
areaId:id,
r:getRandom()
};
var pars =$H(a).toQueryString();
new Ajax.Request(url,{
method: 'post', 
parameters: pars,
onSuccess:function(resp){
var retVal=resp.responseText;
if(retVal=="true")
bRet=true;
}
});//由于这是异步调用的,有时会设为true,有时方法直接会走下面的return,
return bRet;
}

外面调用为:
function callFn()
{
  if(hasNext(4))
  {
  //do someting
  }
}

求方案啊

作者: ttchenwei   发布时间: 2011-06-23

new Ajax.Request 这是什么?
xmlhttprequest是支持同步调用的

作者: inetfuture   发布时间: 2011-06-23

或者
//ajax判断是否有孩子
function hasNext(id)
{
//var bRet=false;
var url = 'utilwindow.html';
var a = {
src:'ajaxHasChildArea',
areaId:id,
r:getRandom()
};
var pars =$H(a).toQueryString();
new Ajax.Request(url,{
method: 'post',  
parameters: pars,
onSuccess:function(resp){
var retVal=resp.responseText;
if(retVal=="true")
//bRet=true;
//do someting

}
});//由于这是异步调用的,有时会设为true,有时方法直接会走下面的return,
return bRet;
}

外面调用为:
function callFn()
{
  hasNext(4);}

作者: inetfuture   发布时间: 2011-06-23

这是用prototype.js来调ajax的

作者: ttchenwei   发布时间: 2011-06-23

我这里hasNext()别的地方也用的,这样是可以,但代码比较乱啊
你能简单讲一下xmlhttp的同步吗?

作者: ttchenwei   发布时间: 2011-06-23

你能简单讲一下xmlhttp的同步吗?
做同步,还不如直接回发整个页面算了

作者: xuexiaodong2009   发布时间: 2011-06-23