使用php通过ajax发送数据

时间:2015-11-17 07:55:48

标签: php jquery ajax wordpress

所以,这是我为wordpress网站设置的ajax设置。

Page_1.php

<?php echo '<div class="button" data-post_date="'.$rh_post_date.'" data-post_author_id="' .$rh_author_id. '" data-post_id="' .$id. '">' ;?>

custom_js.js

jQuery('.button').click(function(e) {
        e.preventDefault();
        var indiv_id = jQuery(this).data("post_id");
        var indiv_post_author = jQuery(this).data("post_author_id");
        var indiv_date = jQuery(this).data("post_date");
        jQuery.ajax({
            type: "GET",
            url: upload_image.ajax_url, 
            dataType: 'html',
            data: ({ action: 'rhmp_indi_form', post_id: indiv_id , post_author_id: post_author, post_date_id: indiv_date}),
            success: function(data){
                    jQuery('#rh_pop').html(data);
        },
        error: function(data)  
        {  
        alert("Error!");
        return false;
        }  
        }); 
 }); 

Page_2.php

<div id="rh_pop">       
      <?php
         $page_2_post_id = $_REQUEST['post_id'];    
         $page_2_post_author_id = $_REQUEST['post_author_id'];  
         $page_2_post_date_id = $_REQUEST['post_date_id'];
      ?>
</div>

如您所见,当点击page_1.php中的button时,data成为custom_js.js中的变量。然后将这些变量发送到page_2。

现在,我知道这根本不安全,可以轻易入侵。

那么,如何使用php通过ajax将data-post_datepost_author_id等数据发送到另一个页面?

1 个答案:

答案 0 :(得分:1)

首先,Ajax是一种在javascript中用于将httprequest发送到php服务器的技术。服务器处理该请求并发回其结果。它与正常请求页面相同,但无需重新加载页面。

使用php在javascript中创建变量以与ajax一起使用并不意味着php是执行ajax相关的任何操作的人。希望这可以解决一个误解。

有关详情:https://en.wikipedia.org/wiki/Ajax_%28programming%29

将数据发送到服务器永远不会安全。您可以使用名称填写此字段,然后继续使用帮助功能。或者甚至可以使用禁用提交按钮,如果字段中没有3个或更多数字,但这都是为了帮助用户并使服务器不太可能获得永远无效的请求。

这就是为什么总是需要服务器端验证的原因,并且客户端验证更像是用户友好的事情,并确保服务器不会获得可以从客户端检测到的请求。