js获取值的问题,谢谢解答

 function sumData(address, datas){
    var sums = 0;
    $.ajax({
        success: function (html) {
            html = JSON.parse(html);
            sums = html.sums;     //这里获取的值
            //console.log(sums);
        },
        url: address,
        type: "post",
        dataType: "html",
        cache: false,
        data: datas,
        timeout: 60000
    });
    console.log("sums="+sums);
    return sums;
}

ajax返回的结果 html.sums,怎么给sums赋上呢
这个测试最后返回都是0,哪里没写对呢

在ajax 参数中 加上async : false即可

有2点可以排查 1 直接通过地址访问address请求路径 看返回值内置是否存在html.sums对应项或值

async : false

借楼上的答案:在ajax 参数中 加上async : false即可

ajax返回的参数html是什么、数据格式是怎样的

你的return 写错地方了。应该写在success函数里。

$.ajax({
success: function (html) {
html = JSON.parse(html);
sums = html.sums; //这里获取的值
//console.log(sums);
},
url: address,
type: "post",
dataType: "html",
cache: false,
data: datas,
timeout: 60000
});
这个ajax是异步请求,还没返回,你的函数已经执行到return了

有两种方法:
1.ajax 默认为异步处理, 如果接口响应很快,那么加上async : false可以设置为同步处理。
2.可以把得到sum值之后的逻辑放到ajax的success方法里面,这样就还是ajax异步处理了。