2014-02-21 2 views
1

Я прошел через код sb и хочу реализовать аналогичный код. он использовал:Как анализировать данные через url и извлекать с помощью javascript

htmlItems += '<li><a href="show-feed.html?url=' + items[i].url + '">' + 
    items[i].name + '</a></li>'; 

и использовал этот яваскрипт код retrive URL-адрес и синтаксический к способу

.on('pageinit', '#show-feed-page', function() { 
     var url = this.getAttribute('data-url').replace(/(.*?)url=/g, ''); 
     Application.initShowFeedPage(url); 

это хорошо работает, и я хочу, чтобы разобрать три значения методы, например <a href="showProduct.html?code='+ items[i].code +',name='+items[i].name+',price='+items[i].price+'">" и нужен код для retrive и синтаксический к способу

initShowProductPage(code,name,price); 

ответ

2

Прежде всего, ваш HTML не так, вы должны подготовить правильный формат строки запроса, обновленный HTML разметки является:

<a href="showProduct.html?code='+ items[i].code + 
     '&name='+items[i].name+'&price='+items[i].price+'">" 

Вы должны получить доступ к window.location.href и разобрать его для строки запроса parameters.You может написать метод, который анализирует URL, как показано ниже:

function parseURL() { 
     var vars = []; 
     var hashes = window.location.href.slice(window.location.href.indexOf('?')+1).split("&"); 
     for (var i=0;i<hashes.length;i++) { 
      hash = hashes[i].split("="); 
      vars.push(hash[0]); 
      vars[ hash[0] ] = hash[1]; 
     } 
     return vars; 
} 

Затем вы можете получить доступ к ним с помощью code, name и price параметры, как показано ниже:

.on('pageinit', '#show-feed-page', function() { 
     var hashObj = parseURL(); 
     // To get code 
     var code = hashObj["code"]; 

     // To get name 
     var name = hashObj["name"]; 

     // To get price 
     var price = hashObj["price"]; 

     // Now call the method 
     initShowProductPage(code,name,price); 

}); 
+0

спасибо за ответ, но я до сих пор имеющие ошибку 'getAsset' не определен –

+0

@Samuel Moshie к сожалению его опечатка е rror (нет необходимости getAsset). Я обновил ответ, попробуйте сейчас. –

+0

Спасибо, что я пробовал n, он запускается без ошибок, но никакое значение не было присвоено коду переменных, цене и имени. Я использовал оповещение, чтобы отобразить их значение перед методом ~ initShowProductPage (код, имя, цена) ~, и он оповещает о неопределенности. PLS help –

Смежные вопросы