2013-05-22 3 views
1

После некоторой борьбы с почти каждой строкой кода, написанной для компонента JoomShopping, я верю, что нашел ответ, который должен быть ответом на все мои беды.Получение информации с одной динамической страницы на другую - повторная почта

При активации кнопки «Купить» в список покупок и после нажатия на нее используется следующий синтаксис ссылки для того, чтобы разместить продукт на заказ Корзина:

index.php/cart/add?category_id=2&product_id=12&quantity=4 

Где 2 является Категория ID и 12 является идентификатор продукта и т.д ... Это была решена V.Vachev, но я думал, что это разумно, чтобы получить возможность отправлять все законченного/фиксированной ИКАР по данным ОЭСР, как это работает:

$('.checkOut').live('click',function(){ 
    var products= new Array(); 
$(".jshop_prod_cart").each(function(){ 
    var product = new Object(); 
     product.catid = $(this).find('[name="category_id"]').val(); 
      product.id = $(this).find('input[name="product_id"]').val(); 
      product.qanty = $(this).find('input[name^="quantity"]').val(); 
    products.push(product) 
    $.ajax({ 
        type: 'GET', 
       url: "shop-portal/add?category_id="+products[0].catid+"&product_id="+products[0].id+"&quantity="+products[0].qanty, 
        dataType: 'json', 
        }) 

     }) 
    }) 

это возвращает:

http://www.domain.com/index.php/shop-portal/add?category_id=2&product_id=48&quantity=4

НО это только возвращение 1 и у меня есть несколько динамических записей, которые все должны быть захвачены в качестве таковых.

Я изучаю это, мне кажется, мне нужно как-то кэшировать эту информацию ... Любые идеи?

+0

Проверьте мой выбор, я надеюсь, что это поможет :) –

+0

у меня есть, и я обнаружил, что это мое правописание что attrocious после 11 часов твердого кодирования! – user2265402

ответ

0

Неправильный URL-адрес. Должно быть так:

url: "/shop-portal/add?category_id="+catid+"&product_id="+id+"&quantity="+qanty, 

Теперь я вижу, что у вас есть массив с одинаковыми именами («CatID», «количество» ...). Вы в конце концов хотите отправить значения из массива? Потому что это другое дело. Убедитесь, что «catid», «id» и «qanty» являются глобальными переменными, и вы отправляете нужные значения.

Joomla, вероятно, не ожидая данных в формате JSON, попробуйте с запросом родной АЯКС

var xmlhttp; 
if (window.XMLHttpRequest) 
    { 
    xmlhttp=new XMLHttpRequest(); 
    } 
else 
    { 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
xmlhttp.onreadystatechange=function() 
    { 
    if (xmlhttp.readyState==4 && xmlhttp.status==200) 
    { 
    alert("Sent!"); 
    } 
    } 
xmlhttp.open("GET","/shop-portal/add?category_id="+yourvariable+"&product_id="+yourvariable+"&quantity="+yourvariable); 
xmlhttp.send(); 

Я не уверен, какие ценности вы хотите отправить. Позаботьтесь о них (yourvariable1, yourvariable2 ...)

Теперь я вижу, что вы хотите передать значения из массива. Попробуйте с

$.ajax({ 
    type: 'GET', 
    data:products, 
    url: "/shop-portal/add?category_id="+products[0].catid+"&product_id="+products[0].id+"&quantity="+products[0].qanty, 
    dataType: 'json', 
    }) 
}) 

Этот запрос будет отправлять только значения из первого продукта. Продукты - это массив, поэтому вы, вероятно, должны пройти через него и отправить несколько запросов, чтобы отправить все.

Вы можете проверить, что содержит «продукты» var с помощью console.log (продукты). Это отобразит содержимое в консоли (например, Firebug).

$('.checkOut').live('click',function(){ 
var products= new Array(); 
     $(".jshop_prod_cart").each(function(){ 
      var product = new Object(); 
     product.catid = $(this).find('[name="category_id"]').val(); 
     product.id = $(this).find('input[name="product_id"]').val(); 
     product.qanty = $(this).find('input[name^="quantity"]').val(); 
     products.push(product) 


         $.ajax({ 
         type: 'GET', 
         data:products, 
         url: "/shop-portal/add?category_id="+product.catid+"&product_id="+product.id+"&quantity="+product.qanty, 
         dataType: 'json', 
         }) 
      }) 


}); 
+0

Извините VV, но если я использую: 'url: \t" index.php/shop-portal/add? Category_id = "+ category_id +" & product_id = "+ product_id +" & quantity = "+ quantity,' мы получаем: http: //cardoso.co.za/index.php/index.php/shop-portal/add?category_id= [object% 20HTMLInputElement] & product_id = [object% 20HTMLInputElement] & quantity = [object% 20HTMLInputElement] & undefined = undefined' – user2265402

+0

Вы должны Удалите index.php из URL-адреса. И я вижу, что produc t_id ..., являются элементами HTML, а не переменными. –

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