我有這樣的困難時間讓我的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