我是刚接触axjx,郁闷我一下午,气的我真想把机器砸了...........

解决方案 »

  1.   

    忘记修改了,上面的
    function getDataSet(){
      Default2.ajaxdbing(null,GetDataSet_callback);   
    }
    改成
    function getDataSet(){
      Default2.ajaxdbing(GetDataSet_callback);   
    }还是不行............
      

  2.   

    我看代码好像没什么问题!这样吧!你先跟踪一下,看看response.value里面有什么内容!!
      

  3.   

    也有可能是你的数组没有得到表里面的内容!你这样改下下看看:if(ds != null && typeof(ds) == "object" && ds.Tables != null){
        var s = new Array();
       objList2.innerHTML+= "<table border=1>";  
        for(var i=0; i<ds.Tables[0].Rows.length; i++){
          objList2.innerHTML += "<tr>";
          objList2.innerHTML+= "<td>" + ds.Tables[0].Rows[i].art_id + "</td>";
          objList2.innerHTML += "<td>" + ds.Tables[0].Rows[i].art_name + "</td>";
          objList2.innerHTML+= "</tr>";
        }
       objList2.innerHTML+ = "</table>";还有你的ojbList2控件你还没有得到吧!
      

  4.   

    你跟踪一下吧,我也没看出啥原因来,加个debugger 跟踪
      

  5.   

    <head runat="server">
        <title>无标题页</title>
    <script type="text/javascript">
    function getDataSet(){
      Default2.ajaxdbing(null,GetDataSet_callback)//楼主自己在核对下GetDataSet_callback这个是否正确;   
    }
    function GetDataSet_callback(response){
        //alert('response');
      var ds = response.value; 
      if(ds != null && typeof(ds) == "object" && ds.Tables != null){
        var s = new Array();
        s[s.length] = "<table border=1>";
        for(var i=0; i<ds.Tables[0].Rows.length; i++){
          s[s.length] = "<tr>";
          s[s.length] = "<td>" + ds.Tables[0].Rows[i].art_id + "</td>";
          s[s.length] = "<td>" + ds.Tables[0].Rows[i].art_name + "</td>";
          s[s.length] = "</tr>";
        }
        s[s.length] = "</table>";
        objList2.innerHTML = s.join("");
      }
      else {
        alert("Error. [3001] " + response.request.responseText);
      }
    }还有就是是否在WEBCONFIG是否写配置文件!
      
         还有就是后台注册的页面名称是否正确
      

  6.   

    http://blog.csdn.net/donny_zhang/archive/2007/10/06/1812839.aspx
      

  7.   

    我用过ajaxpro,在此理解上对此问题我认为:ajax方式返回值只能是字符型的。你在:
        [AjaxPro.AjaxMethod]
        public DataSet ajaxdbing(){}
    这里只能是:
        [AjaxPro.AjaxMethod]
        public string ajaxdbing(){}
    也即GetDataSet_callback(response)的返回值response.value是字符串。
    你应该在    public string ajaxdbing(){}方法里把你的dataset数据格式化成字符串,然后再在前台调用的时候解析你想要的数据。
      

  8.   

    楼上的理解应该正确,js应该还没有兼容微软的dataset,自己构造一个数据串返回吧
      

  9.   

    如果把返回的DATASET序列化成xml能成功返回
    在前台也能用alert()测试打印,但是应该如何把xml重新解析成dataset啊?
      

  10.   

    返回datatable还是不行,测试有数据76行,
    但是前台没反映,查看错误提示:缺少对象
      

  11.   

    我修改了,在.cs文件里返回一个我构造好的html字符串,
    前台改成了:
    function getDataSet()
    {
        Default2.ajaxdbing(GetDataSet_callback);   
    }
    function GetDataSet_callback(response)
    {
            alert('response');
            
        var ds = response.value; 
        if(ds != null)
        { 
            objList2.innerHTML+ =ds;
        }
        else 
        {
            alert("Error. [3001] ");
        }
    }
    可出现了“语法错误”
    哪里多了?