用Javascript到php编写Ajax请求

用Javascript到php编写Ajax请求,javascript,php,ajax,Javascript,Php,Ajax,我正在向服务器发出一个Ajax请求,以对我的数据进行加密。 我正在请求中传递Rsa公钥 Rsa公钥是 -----BEGIN RSA PUBLIC KEY----- MIGJAoGBAKO57sokSQroiScOcM3+wNuesyeccxw9WSVIwMRg2DtHsVs7PZRBgdh0 nq4IXIr/g3+LjeDRUoPWt/16oI3toqYKUX3ufyGbcr2XFt1X8okEc1jk7I8OeZ04 zYnfrz4ioyu5R4sygLBbfyxXzH2Bw7TN65kQHv

我正在向服务器发出一个Ajax请求,以对我的数据进行加密。 我正在请求中传递Rsa公钥

Rsa公钥是

-----BEGIN RSA PUBLIC KEY-----
MIGJAoGBAKO57sokSQroiScOcM3+wNuesyeccxw9WSVIwMRg2DtHsVs7PZRBgdh0
nq4IXIr/g3+LjeDRUoPWt/16oI3toqYKUX3ufyGbcr2XFt1X8okEc1jk7I8OeZ04
zYnfrz4ioyu5R4sygLBbfyxXzH2Bw7TN65kQHvybS8/ccexAfMktAgMBAAE=
-----END RSA PUBLIC KEY-----
但是当我发出一个Ajax请求时,公钥变成了(我已经编写了php代码,它将收到的公钥存储在文本文件中)

键中的所有+字符都转换为空格字符。 由于此原因,数据没有得到加密,因为它要求公钥相同

javascript中的Ajax请求是

var jsonData = $.ajax({

url:"testrsa.php?reg="+reg+"&pass="+pass+"&reciverpubk="+alreadypubk,
                            dataType: "json",
                            async: false
                            }).responseText;
变量alreadypubk包含Rsa公钥,reg和pass是要加密的数据


如何防止将+字符替换为空格字符,以便对数据进行加密。

转义
+
符号有效吗?--也可能是您正在执行
ajax
,但没有指定方法。它默认为
GET
。另外,部分不相关的,
async:false
是个坏主意。我很确定
ajax
的第二个参数是一个回调函数,在这个回调函数中,您可以编写您想要对答案执行的操作。或者在
PHP
@sachin方法中
rawurlencode
,您可以尝试,也可以尝试
POST
数据,而不是
GET
ting@mayk93我想使用GET发送数据。因此,获取默认值不是一个问题。async也是false,因为我希望在得到响应之前不要执行其他语句。
var jsonData = $.ajax({

url:"testrsa.php?reg="+reg+"&pass="+pass+"&reciverpubk="+alreadypubk,
                            dataType: "json",
                            async: false
                            }).responseText;