我是JSON的新手,正試圖找到一種方法來查詢JSON數據,並將信息帶入我的頁面上合適的<div>
。我使用Volusion,所以對代碼的訪問是有限的(它主要是從服務器端腳本動態生成的),所以我不得不做一些解決方法。基本上有一張產品表,獲得產品代碼的唯一方法是將其從產品的錨標籤上生成的URL中抓取出來(每個產品都設置了鏈接,例如/ ProductDetails.asp?ProductCode =芳香產品的香氣)。我寫了Javascript來提取產品代碼(從URL的末尾)並將其設置爲名爲productCode的變量。在'each'函數中用jQuery查詢JSON數據
在我的JSON數據,我有它設置如下:
[
{
"item": "aroma",
"title": "Aromatherapy Oils",
"price": "$10.00",
},
{
"item": "ah-chairbamboo",
"title": "Modern Bamboo Chair",
"price": "$100.00",
},
{
"item": "hc-mirror",
"title": "Cordless LED Lighting Pivoting Vanity Mirror",
"price": "$45.00",
},
{
"item": "macfrc",
"title": "French Macarons",
"price": "$15.00",
}
]
如果我想做的只是從JSON片,其中「香」是該項目拿到冠軍,並追加該產品的容器在一個div?該辦法現在我的代碼是獲取產品代碼是:
$(".v65-productDisplay a").each(function(){
var productHref = $(this).attr("href");
var productCode = productHref.substring(19,productHref.length);
這工作,因爲我已經驚動了productCodes,他們是正確的。
我想這個JSON查詢明顯在每個函數內,因此它在頁面上的每個產品上運行。在英文中,我想說「在JSON工作表中,產品價值與產品代碼的匹配位置,我想打印出標題和價格」(是的,我知道這不是很好的英語......)。
我的第一次失敗的嘗試在查詢它(並警告的價值)在這裏。這是在:
$(".v65-productDisplay a").each(function(){
var productHref = $(this).attr("href");
var productCode = productHref.substring(19,productHref.length);
$.getJSON("/v/vspfiles/data/productinfo.js", function (data) {
$.each(data, function() {
if (productCode = this['item'])
alert(this['price']);
});
});
});
雖然沒有工作。對不起,如果這是混亂,我試圖自己解開它。非常感謝您的幫助。
編輯
這裏有一個新的更新代碼段下面低於PSCoder的回答仍無法正常工作正是:
$.getJSON("/v/vspfiles/data/productinfo.js", function (data) {
$.each(data, function (i,o) {
if (productCode == o.item)
alert(o.price);
});
});