我希望通过AJAX将2个参数传递给PHP页面并加载响应,但此代码无效。
JavaScript的:
$(".show_category").click(function(){
var category_id = $(this).attr('data-category');
$.ajax({
url: "conx.php",
method: "POST",
data: {
action: "sort_category",
category_id: category_id
},
success: function(data) {
$("#con").load("conx.php");
}
});
});
PHP:
<?php
echo "1".$_POST["action"]."<br/>";
?>
答案 0 :(得分:0)
你的问题在这里:
success: function(data) {
$("#con").load("conx.php");
}
此时,您已经发布了数据并收到了HTML响应。不需要通过调用.load
来发出另一个HTTML请求,这样做意味着在没有POST数据的情况下再次请求它,因此它不会产生预期的效果。只需使用data
参数中已有的HTML。
success: function(data) {
$("#con").html(data);
}
另外,这个PHP代码是reflected XSS vulnerability:
<?php
echo "1".$_POST["action"]."<br/>";
?>