【发布时间】:2017-01-17 19:43:13
【问题描述】:
我对 AJAX 有疑问。我正在尝试将 JQuery 中的变量从一个文件发布到另一个文件。当我使用 a tag "Pokračovať" 将自己重定向到我想使用 POST 变量的下一页时,它说它不存在。这是我的代码:
通过 PHP 回显的 HTML:
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);
}
});
});
请帮忙,我真的不知道问题出在哪里。
已寄出邮费:
收到的回复:
【问题讨论】:
-
在浏览器中显示请求已完成,在原始数据选项卡中显示我的变量。 JQuery 包括在内,唯一的错误是我提到的问题: Undefined index: post 。我有网站托管所以是的。
-
@chiro 它是未定义的,因为您没有正确接收函数成功的参数我在答案部分中显示了下面的原因和答案
-
如果你有 undefined index: post 那么你没有将邮资值发送到 PHP 脚本。将
$(this).attr('data-value');更改为$(this).data('value');并确保邮资符合您的预期。 -
@JayBlanchard 很高兴见到你
标签: javascript php jquery ajax post