Я видел следующий пример в Интернете, чтобы получить объект Json Product
в JS из службы WCF:вложенного прототип с JQuery
function Product(ProductName, ProductDesc, Price, Quantity) {
this.ProductName = ProductName;
this.ProductDesc = ProductDesc;
this.Price = Price;
this.Quantity = Quantity;
}
function CallWCFService(WCFServiceURL) {
$.ajax({
type: "GET",
url: WCFServiceURL,
contentType: "application/json; charset=utf-8",
dataType: 'json',
processdata: true,
success: function (msg) {
WCFServiceSucceeded(msg);
},
error: WCFServiceFailed
});
}
//On Successful WCF Service call
function WCFServiceSucceeded(result) {
var productsArray = new Array();
//Gets the Products
$.each(result, function (i, Product) {
productsArray[i]=Product;
});
//Print all the product details
$.each(productsArray,function(i,Product)
{
alert(Product.ProductName + ' ' + Product.ProductDesc + ' ' + Product.Price + ' ' + Product.Quantity)
});
}
Теперь, я не могу сказать, что на самом деле (мои знания в javascript и jquery очень малы), но я могу сказать, что хочу понять этот фрагмент, чтобы иметь возможность изменять его, чтобы содержать вложенный тип, т. е. вместо ProductName у нас будет свойство списка из ответа службы WCF с его собственными полями.
Теперь, конкретно, в этом примере, я не понимаю, где функция Product
вызывается, то, казалось бы, что он находится здесь:
//Gets the Products
$.each(result, function (i, Product) {
productsArray[i]=Product;
});
, но мне кажется, что это неясно, работает ли Продукт в качестве объявленного параметра лямбда, который передается в $ .each, или если он фактически вызывает вызов 'constructor'
Можете ли вы рассказать мне об этом коде?