AJAX POST可以达到“成功”但传递的变量不存在

时间:2017-01-17 19:43:14

标签: javascript php jquery ajax post

我遇到了AJAX问题。我正在尝试将JQuery中的变量从1个文件发送到另一个文件。当我使用标记“Pokračovať”将自己重定向到我想要使用POST变量的下一页时,它表示它不存在。这是我的代码:

HTML通过PHP回应:

echo "
      <div id=posMid>
      <div id=postage>          
      <div data-value='Slovenská pošta-1,99€' class=pick>Slovenská pošta - 1,99€ (doručenie do 3 pracovných dní)</div>
      <div data-value='Kuriér-3,99€' class=pick>Kuriér - 3,99€ (doručenie nasledujúci pracovný deň)</div>
      <div data-value='Osobne-0,00€' class=pick>Odber osobne na pobočke - bez poplatkov</div>
      </div><!--
      --><div id=pay>
      <div data-value='Na účet-0,00€' class=pick>Platba na účet - bez poplatkov (overenie do 3 dní)</div>
      <div data-value='Platba kartou-0,00€' class=pick>Platba kartou - bez poplatkov (overenie ihneď)</div>
      <div data-value='Dobierka-2,99€' class=pick>Dobierka - 2,99€ (platba pri prevzatí)</div>
      </div>
      </div>"; 


echo "<div id=navCart>
      <a href='cart.php' id=Back>Späť do košíka</a>
      <a href='cartStep3.php' id=Next>Pokračovať</a></form>
      </div>";

JQuery的:

$('#posMid #postage .pick').click(function(){
$(this).parent().find('.pick').removeClass('selected');
$(this).addClass('selected');
var postage = $(this).attr('data-value');
$.ajax({
    type: "POST",
    url: "cartStep3.php",
    data:{ post: postage }, 
    success: function(data){
        console.log(postage); 
    }
  });
});

请帮助,我真的不知道问题出在哪里。

发送邮资:

postage sent

收到回复:

response

1 个答案:

答案 0 :(得分:0)

  

我现在看到了。当我点击其中一个项目时,它会执行AJAX请求并返回一大堆HTML。问题不在于代码 - 这是逻辑。选择一个项目后,AJAX会立即运行,但当您单击“pokračovať”时,该变量将不再可用。您需要做的是重新考虑您单击“pokračovať”时所需要的逻辑。我在原帖中添加了两张图片,向您展示我所看到的内容。 - Jay Blanchard 11分钟前