我有这样的困难时间让我的json变量超出了我的json调用我的asp.net mvc控制器类的ajax调用。这里是我的jQuery Ajax调用:使用jquery解析json时未定义变量
$.ajax({
url: '@Url.Action("ReturnTotals", "Cart")',
type: 'POST',
datatype: 'json',
success: function (jsonData) {
var totals = $.parseJSON(jsonData);
var cost = totals.cost;
var qty = totals.qty;
$("#totalCost").html(cost);
$("#totalQty").html(qty);
console.log(cost);
console.log(qty);
console.log($.parseJSON(jsonData));
}
});
我的第2个console.logs回来未定义。而第三吐出
[Object { Key="cost", Value=109}, Object { Key="qty", Value=12}]
我已检查与jsonlint该行,这是很好地形成JSON。对于“var cost = totals.cost;”行我试图改变它“var cost = totals [”cost“];”并没有做任何事情。
这里是我的服务器端功能:
public string ReturnTotals()
{
CartSummaryModel cart = null;
CartModel m = null;
cart = (CartSummaryModel)cXML.cXML.DeserializeObject(Session["CARTSUMMARY"].ToString(), typeof(CartSummaryModel));
Dictionary<string, double> totals = new Dictionary<string, double>();
totals.Add("cost", cart.TotalCost);
totals.Add("qty", cart.TotalQty);
string totalString = cXML.cXML.SerializeJson(totals);
return totalString;
}
您正在返回一个数组所以要访问它写'总[0 ] .cost' – Bellash
仍然返回'undefined' – dmikester1