如何编码整个html响应数据,然后通过JS解码?

时间:2011-04-27 23:10:09

标签: php javascript html ajax encoding

我想编码由ajax请求获取的所有数据(因此数据必须在服务器端编码)然后一旦客户端接收到数据,它将通过JS解码然后处理为可读HTML数据。

我使用PHP在服务器上呈现数据。什么是最有效,最快速,最简单的方式?

谢谢!

2 个答案:

答案 0 :(得分:0)

您不是要尝试重新发送HTTP请求/响应吗?如果是这样,抛弃AJAX只需要一个页面。

但是,如果您只是尝试加载“某些”HTML内容以转储到页面上的容器中,那么jQuery有一个名为.load()的简单方法

http://api.jquery.com/load

更新:根据评论中的讨论,这是服务器上PHP之间的 不安全 快速混淆的混淆技术和客户端上的JS使用ROT13

我想再次强调,这个答案只是一种技术 - 因为除了额外的开销之外,没有从这个过程中获得任何东西 - 因此我不建议使用它。

<?php
  function rot13($s){
    return !$s ? "" : strtr($s,
      "NnOoPpQqRrSsTtUuVvWwXxYyZzAaBbCcDdEeFfGgHhIiJjKkLlMm",
      "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz");
  }
  //encode the HTML content
  $encodedStr = rot13($originalHTML);
?>

然后,一旦您将其发送到浏览器,请在JavaScript中解码:

String.prototype.rot13 = function(){
  return this.replace(/[a-zA-Z]/g, function(c){
    return String.fromCharCode((c <= "Z" ? 90 : 122) >= (c = c.charCodeAt(0) + 13) ? c : c - 26);
  });
};
//decode the HTML content
 var decodedHTML = ajaxResponseHTML.rot13();

答案 1 :(得分:0)

通过JSON与json_encode()json_decode()进行PHP通信。