Эй, у меня есть сценарий, который создает и отображает JSON-кодированный массив продуктов magento.
У меня есть скрипт, который вызывает этот скрипт с помощью функции jQuery ajax, но я не получаю правильный ответ. Когда запрос GET выполнен, firebug отображает
GET http://localhost.com/magento/modules/products/get.php 200 OK then a **red cross** then 361ms
Это скрипт, который создает массив:
// Load product collection
$collection = Mage::getModel('catalog/product')->getCollection();
$collection->addAttributeToSelect('name');
$collection->addAttributeToSelect('price');
$products = array();
foreach ($collection as $product){
$products[] = array("price" => $product->getPrice(),
"name" => $product->getName() );
}
header('Content-Type: application/x-json; charset=utf-8');
echo(json_encode($products));
Вот мой JQuery:
<script type="text/javascript">
$(document).ready(function() {
$.ajax({
type: "GET",
url: "http://localhost.com/magento/modules/products/get.php",
success: function(products)
{
$.each(products,function()
{
var opt = $('<option />');
opt.val(this.name);
opt.text(this.price);
$('#products').append(opt);
});
}
});
})
</script>
Я получаю ответ от этого, но я не вижу JSON. Я использую Firebug. Я вижу, что был ответ в кодировке JSON, но вкладка ответа - emtyp, и у моих полей выбора нет опций.
Может кто-нибудь увидеть и проблемы с моим кодом?
Вот ответ, который я должен получить (и получаю, когда запускаю скрипт вручную через браузер):
[{"price":"82.9230","name":"Dummy"},{"price":"177.0098","name":"Dummy 2"},{"price":"76.0208","name":"Dummy 3"},{"price":"470.6054","name":"Dummy 4"},{"price":"357.0083","name":"Dummy Product 5"}]
Спасибо
Билли