我想在ajax函数成功时重定向页面。但是,我要重定向的链接参数将使用php加密功能进行加密。
我这样写我的代码。
$.ajax({
url: '<?php echo base_url('sistem/check'); ?>',
type: 'POST',
data: {
code: code,
id: id
},
cache: false,
success: function (data, textStatus, jqXHR) {
console.log(textStatus + ": " + jqXHR.status);
console.log(data);
var y = JSON.parse(data);
var x = y.data.id;
console.log(y.data.id)
if (y.status !== 0){
window.location.href = "<?php echo base_url('sistem/detail/'.encryption('x').''); ?>";
}else{
$('.response').html(y.message);
}
},
error:(e) =>{
console.log(e.responseText);
}
});
但是这样写使php加密字符串x而不是变量x。
同时,如果我删除引号,则会使此代码成为错误。
JavaScript正在浏览器中运行,您不能将JavaScript变量传递给PHP进行加密,因为PHP在服务器上运行。在您的PHP代码中,创建数据ID的加密版本并将其发送回客户端。
例如(在PHP中):
$data->encryptedId = encrypted($data->id);
您可以像这样更新JavaScript:
window.location.href = "sistem/detail/" + y.data.encryptedId;
这种加密方法并不安全。您可以仅将加密的ID从服务器发送到客户端和/或使用HTTPS,但是即使这样,如果有人获得了URL,则可以访问数据。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句