嘿,我有一個腳本創建並響應一個JSON編碼的magento產品陣列。PHP:通過jQuery獲取JSON ajax幫助
我有一個調用使用jQuery的Ajax功能,這個腳本的腳本,但我沒有得到恰當的反應。當進行GET請求螢火蟲顯示
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。我正在使用螢火蟲。我可以看到出現了一個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"}]
感謝,
比利
當您剛剛打開http://localhost.com/magento/modules/products/get.php作爲頁面< – SergeS 2011-02-14 14:31:29
時,您收到了什麼,我的scipt正確返回了JSON。我運行該腳本並獲得JSON編碼的產品數組 – iamjonesy 2011-02-14 14:32:03
您的JSON可能有錯誤。嘗試複製get.php輸出並將其粘貼在`var a =`in firebug後 – naugtur 2011-02-14 14:38:00