我试图获取按钮的id
,当它点击它时通过AJAX进行处理,如index.php中所示,只是简单地回显它。
当我这样做时,PHP告诉我postid is an undefined index
。请问这里有什么问题?
由于我是AJAX的新手,我正在关注youtube video。
的index.php:
<button type='submit' id=8 onclick='addToCart(this.id)'></button>
function addToCart($id) {
var idStored = $id; //When the button is clicked it passes the id. Even .val() wouldn't work
$.post('../Cart.phtml',{postid:idStored}, function(data){
window.alert(data); //Just for testing and conforming the code runs.
});
}
CartPage.php:
<?php
$name = $_POST['postid'];
echo $name;
?>
非常感谢,任何帮助或指导都会很棒。
答案 0 :(得分:0)
首先将event
对象发送到如下方法:
<button type='submit' data-id="8" onclick='addToCart(event, this.id)'></button>
$.post
发送内容类型为application/json
的ajax请求,请求对象为form-data
格式的 NOT 且位于request payload
格式。
function addToCart(e, $id) {
e.preventDefault();
var idStored = $id; //When the button is clicked it passes the id. Even .val() wouldn't work
$.post('../Cart.phtml',{postid:idStored}, function(data){
window.alert(data); //Just for testing and conforming the code runs.
});
}
要阅读request payload
中的PHP
,请执行以下操作:
CartPage.php:
<?php
// read request payload json data
$data = json_decode(file_get_contents('php://input'));
$name = $data ['postid'];
echo $name;
?>
答案 1 :(得分:0)
最简单的方法是使用onClick()函数。
//using form and type=”submit” is not needed
<button id=8 onclick='addToCart(this.id)'></button>
但是如果你想通过表单来做,你必须阻止表单的默认行为。
$("#cartForm").submit(function (e) {
e.preventDefault();
});