显示 ajax 成功的 2 条回复
Show 2 responses for ajax success
我正在尝试显示一条检查邮政编码的消息,returns邮政编码是否可以货到付款entered.However我只能收到一个回复condition.Here 我正在发布我的代码 using.Can 你帮助我如何才能以不同的方式显示 COD 和运输的消息。
这是我的 phtml 文件。
<script>
function checkPostcode() {
var deliveryMessage = jQuery('#checkDelivery-form #is_deliverable');
var deliveryMessage1 = jQuery('#checkDelivery-form #cod_delivery');
deliveryMessage.removeClass('success').removeClass('error').hide();
deliveryMessage1.removeClass('success').removeClass('error').hide();
var deliveryForm = jQuery('#checkDelivery-form');
if(deliveryForm.valid()) {
jQuery.ajax({
type: "POST",
url:'<?php echo $this->getUrl('checkDelivery/postcode/check') ?>',
data: deliveryForm.serialize(),
dataType: "json",
showLoader: true,
success: function(response) {
deliveryMessage.removeClass('mage-error');
deliveryMessage.removeClass('mage-success');
deliveryMessage.addClass(response.type).html(response.message).show();
deliveryMessage.attr('generated','true');
}
}
});
}
return false;
}
</script>
这是我的 php 文件检查有效的邮政编码并相应地显示响应。
public function execute()
{
ob_start();
$response = [];
try {
if (!$this->getRequest()->isAjax()) {
throw new \Exception('Invalid request.');
}
if (!$postcode = $this->getRequest()->getParam('zipcode')) {
throw new \Exception('Please enter pincode');
}
$region = $this->zipcodeRegion->getCollection()->addFieldToSelect('*')->addFieldToFilter('zip_code',$postcode)->getFirstItem();
if($region['zip_code'] == $postcode)
{
if($region['is_blocked'] == 1)
{
if($region['is_cod_available'] == 0)
{
$response['type'] = 'mage-error';
$response['message'] = 'No delivery available at selected pincode';
}
}
else
{
$response['type'] = 'mage-success';
$response['message'] = 'Delivery available at selected pincode';
}
}
else
{
$response['type'] = 'mage-error';
$response['message'] = 'Please enter valid pincode';
}
} catch (\Exception $e) {
$response['type'] = 'mage-error';
$response['message'] = $e->getMessage();
}
$this->getResponse()->setContent(json_encode($response));
}
}
如果根本没有送货服务,则您无需在 if($region['is_blocked'] == 1){...
中检查货到付款。检查 else
中的 COD 并在那里显示适当的消息。
试试这个:
public function execute()
{
ob_start();
$response = [];
try {
if (!$this->getRequest()->isAjax()) {
throw new \Exception('Invalid request.');
}
if (!$postcode = $this->getRequest()->getParam('zipcode')) {
throw new \Exception('Please enter pincode');
}
$region = $this->zipcodeRegion->getCollection()->addFieldToSelect('*')->addFieldToFilter('zip_code',$postcode)->getFirstItem();
if($region['zip_code'] == $postcode)
{
if($region['is_blocked'] == 1)
{
$response['type'] = 'mage-error';
$response['message'] = 'No delivery available at selected pincode';
}
else
{
if($region['is_cod_available'] == 0)
{
$response['type'] = 'mage-success';
$response['message'] = 'Delivery available at selected pincode';
}else{
$response['type'] = 'mage-success';
$response['message'] = 'Delivery available at selected pincode but no COD';
}
}
}
else
{
$response['type'] = 'mage-error';
$response['message'] = 'Please enter valid pincode';
}
} catch (\Exception $e) {
$response['type'] = 'mage-error';
$response['message'] = $e->getMessage();
}
$this->getResponse()->setContent(json_encode($response));
}
}
我正在尝试显示一条检查邮政编码的消息,returns邮政编码是否可以货到付款entered.However我只能收到一个回复condition.Here 我正在发布我的代码 using.Can 你帮助我如何才能以不同的方式显示 COD 和运输的消息。 这是我的 phtml 文件。
<script>
function checkPostcode() {
var deliveryMessage = jQuery('#checkDelivery-form #is_deliverable');
var deliveryMessage1 = jQuery('#checkDelivery-form #cod_delivery');
deliveryMessage.removeClass('success').removeClass('error').hide();
deliveryMessage1.removeClass('success').removeClass('error').hide();
var deliveryForm = jQuery('#checkDelivery-form');
if(deliveryForm.valid()) {
jQuery.ajax({
type: "POST",
url:'<?php echo $this->getUrl('checkDelivery/postcode/check') ?>',
data: deliveryForm.serialize(),
dataType: "json",
showLoader: true,
success: function(response) {
deliveryMessage.removeClass('mage-error');
deliveryMessage.removeClass('mage-success');
deliveryMessage.addClass(response.type).html(response.message).show();
deliveryMessage.attr('generated','true');
}
}
});
}
return false;
}
</script>
这是我的 php 文件检查有效的邮政编码并相应地显示响应。
public function execute()
{
ob_start();
$response = [];
try {
if (!$this->getRequest()->isAjax()) {
throw new \Exception('Invalid request.');
}
if (!$postcode = $this->getRequest()->getParam('zipcode')) {
throw new \Exception('Please enter pincode');
}
$region = $this->zipcodeRegion->getCollection()->addFieldToSelect('*')->addFieldToFilter('zip_code',$postcode)->getFirstItem();
if($region['zip_code'] == $postcode)
{
if($region['is_blocked'] == 1)
{
if($region['is_cod_available'] == 0)
{
$response['type'] = 'mage-error';
$response['message'] = 'No delivery available at selected pincode';
}
}
else
{
$response['type'] = 'mage-success';
$response['message'] = 'Delivery available at selected pincode';
}
}
else
{
$response['type'] = 'mage-error';
$response['message'] = 'Please enter valid pincode';
}
} catch (\Exception $e) {
$response['type'] = 'mage-error';
$response['message'] = $e->getMessage();
}
$this->getResponse()->setContent(json_encode($response));
}
}
如果根本没有送货服务,则您无需在 if($region['is_blocked'] == 1){...
中检查货到付款。检查 else
中的 COD 并在那里显示适当的消息。
试试这个:
public function execute()
{
ob_start();
$response = [];
try {
if (!$this->getRequest()->isAjax()) {
throw new \Exception('Invalid request.');
}
if (!$postcode = $this->getRequest()->getParam('zipcode')) {
throw new \Exception('Please enter pincode');
}
$region = $this->zipcodeRegion->getCollection()->addFieldToSelect('*')->addFieldToFilter('zip_code',$postcode)->getFirstItem();
if($region['zip_code'] == $postcode)
{
if($region['is_blocked'] == 1)
{
$response['type'] = 'mage-error';
$response['message'] = 'No delivery available at selected pincode';
}
else
{
if($region['is_cod_available'] == 0)
{
$response['type'] = 'mage-success';
$response['message'] = 'Delivery available at selected pincode';
}else{
$response['type'] = 'mage-success';
$response['message'] = 'Delivery available at selected pincode but no COD';
}
}
}
else
{
$response['type'] = 'mage-error';
$response['message'] = 'Please enter valid pincode';
}
} catch (\Exception $e) {
$response['type'] = 'mage-error';
$response['message'] = $e->getMessage();
}
$this->getResponse()->setContent(json_encode($response));
}
}