[英]PHP Page not getting data sent and not echoing
我有一个简单的设置,它从颜色选择器中获取一个十六进制值,将其转换为RGB,然后将其从HTML发送到PHP脚本。 接收文件没有回显,也没有刷新。 我可能做错了,但想由某人运行,以防万一。
function hexToRgb(hex) {
var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
return result ? {
r: parseInt(result[1], 16),
g: parseInt(result[2], 16),
b: parseInt(result[3], 16)
} : null;
}
$(document).ready(function() {
var picker = $.farbtastic('#picker');
picker.linkTo(function onColorChange(color) {
var finalcolor=hexToRgb(color);
console.log(finalcolor,"helloworld");
$.post("imagedisplay.php", {var_value: finalcolor});
});
});
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
$hex=$_POST['var_value'];
echo '$hex';
}
?>
使用AJAX时,页面不会自动刷新(这通常是使用AJAX而不是常规表单提交的原因)。 您需要$.post
的回调函数来处理PHP的响应:
$(document).ready(function() {
var picker = $.farbtastic('#picker');
picker.linkTo(function onColorChange(color) {
var finalcolor=hexToRgb(color);
console.log(finalcolor,"helloworld");
$.post("imagedisplay.php", {var_value: finalcolor}, function(response) {
alert('PHP said: ' + response);
});
});
});
在您的PHP中, $hex
是一个关联数组。 您无法回显数组,请使用:
print_r($hex);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.