我得到了两个中的任何一个:
jQuery(document).on( 'click', '.button', function(e) {
jQuery.ajax({
type : 'POST',
url : custom.ajax_url,
data : {'action':'some_ajax'},
success : function(data){
}
});
}
});
body ==> ef41c6e9a687de63acba3cd120737f18
怎么可能?我已尝试使用sha1并获得相同的结果(两个diff hash)。
body ==> 3f952f0ca3875f634206563187bcd06d
答案 0 :(得分:1)
如果您正在下载这样的二进制数据,您应该知道默认情况下request
会将响应转换为(utf8)字符串。因此,在转换过程中图像数据可能会受损。
要解决该特定问题,您可以通过在请求配置中明确设置request
来强制Buffer
将响应保持为encoding: null
。例如:
request.get({
url: invalid,
encoding: null
}, function (error, response, body) {
if (!error && response.statusCode == 200) {
checksum(body);
}
});
// ...
function checksum(buf) {
console.log("body ==> ", crypto
.createHash('md5')
.update(buf)
.digest('hex')
);
}