我尝试通过按下按钮将png图像从JavaScript传递到PHP页面。但它返回一个错误,指出“Request-URI太大”。以下是我的代码:
myJavaScript.js
var w = window.open();
var dom = w.document;
var a = canvas[0].toDataURL("image/png");
dom.write('< input type="button" value="Submit" onclick="location.href=\'result.php?a=' + a + '\'" ></input>');
result.php
<?php
$aImg= $_GET["a"];
$to = "abc@hotmail.com";
$subject = "Sending an image to email";
$body = '<img src="' .$aImg. '" alt="This is an image" />';
if (mail($to, $subject, $body))
{
echo("Message successfully sent!");
}
else {
echo("Message delivery failed...");
}
?>
但是,它返回“请求的URL长度超过此服务器的容量限制”。
答案 0 :(得分:8)
改用邮件。
dom.write('<form method="post" action="result.php"><input type="a" value="'+a+'" /><input type="submit" value="Submit" /></form>')
因为使用GET方法传递变量需要将变量放在URL中,所以您将达到大变量的URL的最大长度。 POST没有限制,或者至少有一个更大的限制。
答案 1 :(得分:3)
更改为使用POST
而不是GET
,如果您使用GET
,则会超出大数据的网址长度限制。