Передача значений диапазонов в 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". Протоколы должны совпадать.

Другие вопросы по тегам