原贴:http://community.csdn.net/Expert/topic/5035/5035660.xml?temp=.9632532
原贴:http://community.csdn.net/Expert/topic/5036/5036161.xml?temp=3.579348E-02这是zhjg136(天星) 写给我的第一个ajax示例 后台为public int GetCount() 程序可以执行,且正常
-------------------------------------------------
function timediv()
{
  test.index.GetCount(GetCount_callback);  
  setTimeout("timediv()",1000)   
}
function GetCount_callback(res)
{
  document.getElementById("div1").innerHTML = res.value;
}
setTimeout("timediv()",1000)
--------------------------------------------------
疑问是:在这里javascript的写法,
根据我第二贴里面hdt(倦怠)说的 
----------------------------------------- 
function1(callback) 变量相当要求一个委托
function1( callback()) 变量是一个值
-----------------------------------------的意思是不是  
test.index.GetCount(GetCount_callback)
function GetCount_callback(res)
这条过程在后台执行后返回一个值,而值传给GetCount_callback(res)去运行
上面的代码也可以写成
function timediv()
{
  var i=test.index.GetCount();
  GetCount_callback(i);
  setTimeout("timediv()",1000)   
}
function GetCount_callback(res)
{
  document.getElementById("div1").innerHTML = res.value;
}
setTimeout("timediv()",1000)是不是???
我这样运行的话也和上面效果一样!还有我想为什么用Ajax返回服务器的public int GetCount();
返回回来的是一个Object对像呢?
而不是?一个Int变量??
而要是我返回的是一个数组那又要如何读取谢谢

解决方案 »

  1.   

    首先,javascript是一种弱对象语言,也没有什么变量类型的强制要求。var i = 0; // 这个时候i是整型
    i = "abc"; // 这个时候i是string型所以 res.value 根据具体值类型来判断该变量类型。毫无疑问res是一个对象一个response对象,value值表示请求返回的结果。看楼主用的应该是ajax.net,如果.net端返回是数组那么res.value就是一个数组你可以用 res.value[0] 来访问。如果.net返回的是DataSet(1.1 DataTable不能序列化,所以只能返回一个DataSet)var dt = res.value.Tables[0];//dt 就是一个DataTable了。返回其中元素可以通过 dt.Rows[i].ColumnName 例如:dt.Rows[i].ID表示其中第i行数据的ID列。
      

  2.   

    对了 ajax 和 Atlas 有什么区别啊
    我是学ajax还是学Atlas
      

  3.   

    当然是atlas阿。asp.net的嫡系,马上要并入asp.net中正式发布。而且整个ajax实现要比ajax.net简单的多。