2016-08-21 40 views
0

我想通过AJAX将2个参数传递给PHP页面并加载响应,但是此代码不起作用。我不能通过JavaScript将变量传递给PHP,jQuery加载响应

的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

在成功尝试:$( “#CON”)HTML(数据); –

回答

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/>"; 
?> 
+0

Alexander O'Mara:谢谢你的帮助。我会尽力再写一遍。 –