@dmitriyuvin
FullStack developer ( Laravel & Vue )

Как вывести AJAX ответ с другой страницы?

Мой AJAX/JS.
При клике на ссылку, товар добавляется в корзину.
Запрос идет на CartController, в этом контроллере я распечатываю $_SERVER, как мне получить эту распечатку?
var prods = document.querySelectorAll("tr.shop-prods");

for(i = 0; i < prods.length; i++) {
    prods[i].addEventListener("click", function(event){
        event.preventDefault();
        var prod = this;
        var id = prod.querySelector("td a.add-to-cart-link").href.split("?id=", 2)[1];
        var qty = prod.querySelector("td.product-qty-link").innerText;


        var xhr = new XMLHttpRequest();
        var method = "GET";
        var url = "cart/add?id="+id+"&qty="+qty;

        xhr.open(method, url, true);
        xhr.setRequestHeader('X-Requested-With','XMLHttpRequest');
        xhr.send();

        xhr.onreadystatechange = function() {
            if(xhr.status === 0 || xhr.status >= 200 && xhr.status < 400) {
                console.log("id = " + id + " qty = "+qty)
            }else{
                alert("ERROR!\n"+xhr.status + " => " + xhr.statusText);
            }
        };

        xhr.abort();
    });
}

class CartController extends Controller
{
    public function addAction()
    {
        $id = $_GET['id'] ?? null;
        $qty = $_GET['qty'] ?? null;

        $prodObj = new Product();
        if($id) {
            $product = $prodObj->getProduct($id);
            if(!$product) {
                return false;
            }
        }

        $cart = new Cart();
        $cart->addToCart($product);

        dep($_SERVER);
        
   

    }
}
  • Вопрос задан
  • 187 просмотров
Пригласить эксперта
Ответы на вопрос 1
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
xhr.onreadystatechange = function() {
            if(xhr.status === 0 || xhr.status >= 200 && xhr.status < 400) {
                console.log("id = " + id + " qty = "+qty);
                console.log(xhr.responseText);
            }...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы