0

我将数据添加到列表中,并在我的控制器中将其作为 JSON 返回:

List<ProductListingModels> prom = new List<ProductListingModels>();
ProductListingModels product = new ProductListingModels();

foreach (var item in ien_item)
{
   if ((item.Brand.IsAuthorized == true) && ((HelperClass.ICEContact.PathBrandImages + 
   item.Brand.Image) != null))
   {
     product.BrandImage = HelperClass.CheckImageUrlExist(item.Brand.Image);
   }
   else
   {
     product.BrandImage = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
   }
}

prom.Add(product);
return Json(new
{
   ja = prom.ToList()

}, JsonRequestBehavior.AllowGet);

我认为这是:

$.getJSON("ProductListing/Index", data, function (product) {
  $.each(data, function (index, proValByDep) {
     alert(proValByDep.BrandImage);
  });

});

我在准备好的萤火虫中对其进行了跟踪,JSON运行良好。问题 :

proValByDep.BrandImage is undefined.

请提供任何解决方案。非常感谢。

4

2 回答 2

1

您可能需要循环,data.ja因为它是数组,而不是data直接循环。

$.getJSON("ProductListing/Index", data, function (product) {
  $.each(data.ja, function (index, proValByDep) {
     alert(proValByDep.BrandImage);
  });
});

或者您可以将服务器端更改为直接返回数组,而不是将其包装在名为的属性中ja

return Json(prom, JsonRequestBehavior.AllowGet);
于 2012-04-25T08:49:57.013 回答
1

我认为问题在于您在方法中使用了传递给请求的data变量,而不是保存返回数据的参数。each()product

$.getJSON("ProductListing/Index", data, function (product) {

  //   changed data to product below and also added .ja as you want to access its value
  $.each(product.ja, function (index, proValByDep) {
     alert(proValByDep.BrandImage);
  });
});
于 2012-04-25T10:48:16.400 回答