Мне нужно иметь возможность получать информацию о доставке из внешнего источника на основе адреса электронной почты и вставлять данные в форму «Информация о доставке».Magento One Page Checkout Внешний запрос AJAX
Запрос ajax отлично работает на пустой странице, однако, когда я добавляю код в шаблон одной страницы, когда кнопка нажата, просмотр ajax не инициируется, а браузер действует так, как если бы я нажал на кнопку «продолжить».
Я не могу получить голову вокруг смеси внешнего и встроенного JS в magento, поэтому я не вижу, что вызывает эту проблему.
Мой внешний PHP файл возвращает объект JSON, который представляет собой массив, который имеет следующие значения: [0] - Улица 1 - Город [2] - область [3] - Почтовый индекс [4] - Страна
Пожалуйста, обратите внимание, что я использую плагин JQuery Ajax форма найдено here:
в шаблон/проверки/OnePage/доставки Я добавил следующий код примерно в строке 38:
<form id="treat-email" action="treatme.php" method="post">
Email: <input type="text" name="treat-email" />
<input type="submit" value="Get Address" />
</form>
<script>
jQuery(document).ready(function() {
jQuery('#treat-email').ajaxForm({
dataType: 'json',
success: processJson,
error: function(){
alert("You Failed!");
},
});
});
function processJson(data){
jQuery('#shipping:street1').val(data[0]);
jQuery('#shipping:city').val(data[1]);
jQuery('#shipping:region').val(data[2]);
jQuery('#shipping:postcode').val(data[3]);
jQuery('#shipping:country').val(data[4]);
}
</script>
Я не думаю, что это связано, но после функции ошибки у вас есть дополнительная запятая. –
К сожалению, это не имеет никакого значения, хотя, поскольку скрипт отлично работает из контекста проверки одной страницы –
, вы уверены, что включен jquery и noConflict() вызывается? –