Правильно, у вас есть несколько мелких ошибок и отсутствует файл.
Я собираюсь ответить вам здесь на ваш оригинальный вопрос, постарайтесь не публиковать дубликаты - если ваш вопрос не получил ответа, естьнаверное причина.В этом случае из-за того, что это было очень долго, ответчикам, как правило, нравится, когда вы выясняете, в чем проблема, вместо того, чтобы разбираться в коде.Другая важная проблема заключается в том, что это, очевидно, среднесрочный период, и большинству людей не нравится отвечать на домашние вопросы, поскольку это побеждает объект, которым вы их делаете, если вы не сформулируете вопрос в стиле предложения.Во всяком случае, это ваш первый вопрос здесь, и я не хочу вас откладывать, так что конец разглагольствования.
Правильно, во-первых, в вашем файле Javascript Ajaxfunctions.js
, ваша функция MakeRequest(product)
имеетошибка в этом.Эта строка:
xmlHttp.open("GET", "prodTotal.php?product=+_product", true);
Должно быть:
xmlHttp.open("GET", "prodTotal.php?product=" + product, true);
Вам необходимо передать переменную обратно в сценарий PHP, прежде чем передать "_product" какидентификатор продукта, а не указанная переменная.
Тогда в вашем основном файле CarsClass.php
вы увидите ту же ошибку на другом языке, передавая строку, а не фактическую переменную в методе display()
.Найдите строки с привязками onmouseover
.
<td>
<div id ="totalqty" onmouseover="MakeRequest($producta)"></div>
<div id ="totaldol" onmouseover="MakeRequest($producta)"></div>
</td>
$producta
здесь отправляется как текст "$ producta", вам нужна переменная, и вы не находитесь в режиме PHP, поэтому вы не можетепросто упомяните об этом, вам нужно вывести его из PHP, как это было сделано в предыдущих ячейках таблицы.
<td>
<div id ="totalqty" onmouseover="MakeRequest(<?php echo $producta; ?>)"></div>
<div id ="totaldol" onmouseover="MakeRequest(<?php echo $producta; ?>)"></div>
</td>
Последнее, что вам нужно, это фактический файл запроса AJAX prodTotal.php
(если этоимя последнего файла, который вы указали в своем вопросе, тогда следует использовать несколько иной подход).
prodTotal.php
<html>
<head>
<title>Midterm2 AJAX Response File</title>
</head>
<body>
<?php
require 'CarsClass4.php';
$product = (isset($_GET['product']) ? trim($_GET['product']) : '');
if (!empty($product)) {
$classicModels = new CarsClass('classicmodels');
list ($totqty, $totamt) = $classicModels->ProdTotal($product);
?>
<div id ="totalqty"><?php echo $totqty; ?></div>
<div id ="totaldol"><?php echo $totamt; ?></div>
<?php
}
?>
</body>
</html>
AJAX-запрос долженвыйдите и получите значения, посмотрите, как PHP-файл смотрит на запрошенное значение, вызывает функцию для его вычисления и выводит DIV, соответствующие идентификаторам, которые ищет ваш код в подпрограмме Javascript HandleResponse()
, содержащие значения.Эта подпрограмма JS извлекает содержимое .innerHTML
и заменяет его элементами.
Обратите внимание, что подпрограммы AJAX требуют времени, поэтому наведение курсора не будет мгновенным.В вашем коде может быть больше ошибок в другом месте, но это самая сложная часть.