【问题标题】:How to send javascript variable data to php [duplicate]如何将javascript变量数据发送到php [重复]
【发布时间】:2013-03-27 03:50:30
【问题描述】:

我想发送一个 javascript 变量,其中包含一个图像 base64 (png) 值(对于 GET 请求来说太大)。我如何将此base64值发送到php页面(POST请求)以便解码base64然后保存它。

var base64 = this.tobase64(); // store base64 value to this variable

        $.post('/js/uploadify/handler.php', {basevalue: base64});

                });

    window.location = "http://localhost/file/handler.php";

上面的代码我试过了,还是不行,

我想通过按钮(不是提交按钮)上的 onclick 事件发送值。我没有使用表单。

PHP 代码

$val = $_POST['basevalue'];
echo $val;

我收到通知:未定义索引:基值错误

谢谢!

【问题讨论】:

  • 把php代码也贴出来。
  • window.location 可能正在破坏 POST。
  • 检查编辑添加的php代码
  • effectsuploadify.phphandler.php中的php代码
  • $val = file_get_contents(php://input);

标签: php javascript jquery html css


【解决方案1】:

POST 仅将表单字段的值发送到下一页。 为了将您的图像发送到下一页,请将其分配给隐藏字段的值并使用 java 脚本提交表单。

var form = document.createElement("form");
form.setAttribute("method", "POST");
form.setAttribute("action", "http://localhost/file/handler.php");

var hiddenField = document.createElement("input");
hiddenField.setAttribute("type", "hidden");
hiddenField.setAttribute("name", "image");
hiddenField.setAttribute("value", base64);

form.appendChild(hiddenField);
document.body.appendChild(form);
form.submit();

【讨论】:

    【解决方案2】:

    等待$.post() 成功。

    function wl(){
     window.location = "http://localhost/file/handler.php";
    }
    var base64 = this.tobase64(); // store base64 value to this variable
    $.post('/js/uploadify/effectsuploadify.php',{
      basevalue: base64,
      success: wl,
    });
    

    【讨论】:

    • 您是否从脚本后删除了window.location = "http://localhost/file/handler.php";
    • 好的。我删除了那个。现在它没有重定向我该如何解决这个问题。
    • 您在控制台中看到任何错误吗?
    • 我使用了错误的方法(tobase64)..非常感谢..
    • 哎呀!即使在控制台中没有给出正确的方法名称,仍然会出现相同的错误。页面重定向未定义索引错误。
    猜你喜欢
    • 2012-01-01
    • 2015-11-16
    • 2012-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多