Передача значений диапазонов в php с помощью AJAX
Спасибо, что нашли время. Я работаю над созданием визуальной корзины для покупок на нескольких страницах параллакс-сайта. Поскольку каждая "страница" параллакс-сил открывает и закрывает форму, я не могу использовать непрерывную форму. Чтобы исправить это, я использую jquery, чтобы поместить значения вариантов на предыдущих страницах в одну страницу, заполняя промежутки.
Я хотел бы иметь возможность получить эти окончательные варианты из dom с помощью ajax, чтобы поместить их на страницу обработки для хранения информации о выборе клиентов и сравнить ее с транзакцией dwolla. Мне еще не нужно настраивать транзакцию dwolla и проверять ее, потому что я не смог получить свои данные на странице обработки php и заставить ее вернуть возвращаемое значение. Между прочим, это построено на WordPress, и фильтры WordPress часто используют меня.
Вот сайт; http://ecigjuiceclub.com/
Прыгнем в код!
AJAX:
function post()
{
var name = $('#cname').val();
var street1 = $('#cstreet').val();
var street2 = $('#cstreet2').val();
var city = $('#ccity').val();
var state = $('#cstate').val();
var zip = $('#czip').val();
var email = $('#cemail').val();
var phone = $('#cphone').val();
var flavor = $('#cflavor').val();
var strength = $('#cstrength').val();
var refcode = $('#crefcode').val();
$.post('process.php',{postname:cname,poststreet1:cstreet,poststreet2:cstreet2,postcity:ccity,poststate:cstate,postzip:czip,postemail:cemail,postphone:cphone,postflavor:cflavor,poststrength:cstrength,postref:crefcode},
function(data)
{
$('#thankyou').html(data);
});
}
Php process.php
<?php
$name = $_POST['postname'];
$street1 = $_POST['poststreet1'];
$street2 = $_POST['poststreet2'];
$city = $_POST['postcity'];
$state = $_POST['poststate'];
$zip = $_POST['postzip'];
$email = $_POST['postemail'];
$phone = $_POST['postphone'];
$flavor = $_POST['postflavor'];
$strength = $_POST['poststrength'];
$refcode = $_POST['postref'];
if($zip == 90804)
{
echo "1";
}
else
{
echo "0";
}
?>
Фрагмент HTML (где в DOM я пытаюсь получить):
<span style="color:#EF5D3D;">Email: </span><span style="font-size:28px;" id="cemail"></span>
<span style="color:#EF5D3D;">Phone: </span><span style="font-size:28px;" id="cphone"></span>
3 ответа
Я думаю, вам лучше попробовать innerHTML вместо значений, я не знаю точный синтаксис в jquery. я предпочитаю использовать вход или иначе вместо span
var email = $('#cemail').text();
var phone = $('#cphone').text();
Это должны быть замены функции post(). Добавление предупреждающего сообщения (в качестве примера) при открытии функции post() может помочь вам проверить их значения, прежде чем они будут переданы в запросе Ajax.
alert($('#cemail').text() + ' ' $('#cphone').text());
Также не забудьте очистить кеш, чтобы убедиться, что ваши изменения в javascript были реализованы.
В консоли отображаются следующие ошибки, которые могут препятствовать запуску других сценариев:
Uncaught ReferenceError: Modernizr не определен ecigjuiceclub.com/:825
Заблокирован фрейм с происхождением " https://www.youtube.com/" от доступа к фрейму с происхождением " http://ecigjuiceclub.com/". Кадр, запрашивающий доступ, имеет протокол "https", а кадр, к которому осуществляется доступ, имеет протокол "http". Протоколы должны совпадать.