繁体   English   中英

PHP页面没有发送数据并且没有回显

[英]PHP Page not getting data sent and not echoing

我有一个简单的设置,它从颜色选择器中获取一个十六进制值,将其转换为RGB,然后将其从HTML发送到PHP脚本。 接收文件没有回显,也没有刷新。 我可能做错了,但想由某人运行,以防万一。

Java / jQuery

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

<?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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM