我有一个asp.net页面,其中包含一个长时间运行的任务和一个jquery ajax调用进度条。成功之后,我想传回一个int来取得进展,但也想传递一些状态文本,比如我正在使用的记录。
我知道下面的内容不对,但如何获得超过一个值?
'msg'获取两个值的正确语法是什么?
我认为是数组或类,但它不起作用。
function updateProgress() {
$.ajax({
type: "POST",
url: "Users.aspx/GetProgress",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
async: true,
success: function(msg) {
$("#result").text = msg.Status;
var value = $("#progressbar").progressbar("option", "value");
if (value < 100) {
$("#progressbar").progressbar("value", msg.Progress);
}
}
});
}
答案 0 :(得分:1)
您的页面应返回Json字符串,例如:
["Progress" : 1, "Status" : "Current Status"]
,那么你应该只需要将返回的json字符串解析为Object,例如:
async: true,
success: function(msg) {
var obj = jQuery.parseJSON(msg);
$("#result").text = obj.Status;
var value = $("#progressbar").progressbar("option", "value");
if (value < 100) {
$("#progressbar").progressbar("value", obj.Progress);
}
}
希望有所帮助, 戴夫