日期:2014-05-16  浏览次数:20466 次

新手求解ajax获取返回值问题!!!!
function onGetEval(e){
var id = e.value;
var eval = "123";
$.ajax({
                url: "<%=path%>/evaluation/evaluationAction!getEvaluation?id="+id,
                dataType: "json",
                success: function (e) {
                 alert(e);
                 alert(e.name);
                //eval = e.name无效
                 //如何将e.name赋值给eval

                },
                error: function () {
                }
            });
            return eval;
}

返回的json如下{"id":1,"name":"测试测试"},前面两个输出是可以输出的。。
ajax json 返回值 jquery

------解决方案--------------------
这不是eval的问题,是这个请求是异步的,数据还没有返回的时候,已经执行return eval了,所以eval等于123,LZ把请求改成同步就行了。
$.ajax({
                url: "<%=path%>/evaluation/evaluationAction!getEvaluation?id="+id,
                dataType: "json",
                async: false,
                success: function (e) {
                 alert(e);
                 alert(e.name);
                //eval = e.name无效
                 //如何将e.name赋值给eval
                },
                error: function () {
                }
            });
            return eval;