我看到了语法问题
  return models 后没加";"
另外 var models = product.GetModelByPdtIDS($(userno).value) 这句在什么状态下执行的? 
直接用ajax方式请求 有状态判断 可行不

解决方案 »

  1.   

    return originalRequest.responseText.evalJSON();
      

  2.   

    1.用的是prototype框架
    2.return models 后没加";"     加上也不管用.
    3.另外 var models = product.GetModelByPdtIDS($(userno).value) 这句在什么状态下执行的?  
       上面的代码是一个JS类,下面的代码是在前台按钮触发的JS事件中执行我想把Ajax 返回值作为上面OA.Product.prototype.GetModelByPdtIDS = function(pdtids) 函数的一个返回值传出去,该如何操作
      

  3.   

    不能这样操作:return originalRequest.responseText.evalJSON();
    originalRequest
    'originalRequest' 未定义
      

  4.   

    return originalRequest.responseText.evalJSON(); 说过了,不管用
      

  5.   

    不太熟悉protype 刚看了一些资料 建议首先应按规范模式写 不是说你的写法一定不对
    OA.Product.prototype.GetModelByPdtIDS = function(pdtids)
    {
        debugger;
        var models = null;
        var NoAjax = new Ajax.Request(
        '../../ajax/Product.aspx',
        {
            method:'get',
            parameters:'Type=GetModelByPdtIDS&IDS=' + pdtids+ "&Date=" + new Date(),
            onSuccess:getModels,onFailure:showErr}
        );
        function getModels(originalRequest)
        {
            models = originalRequest.responseText.evalJSON();
        }
        function showErr(originalRequest)
        {
            models =originalRequest.responseText.evalJSON();
        }
        return models;
    }至少应该加了判断出错的方法吧 也可能你处理ajax请求的部分有问题 
      

  6.   

    这个资料不错 很全 可能对你有帮助
    https://compdoc2cn.dev.java.net/prototype/html/prototype.js.cn.html#options_reference
      

  7.   

    默认使用ajax时,async选项为true,也就是异部请求,这种情况下,异步请求不能将返回值传给全局变量
    将async设为同步请求,就可以了,也就是async=false;