将png图像从JavaScript传递到PHP(错误:请求URI太大)

将png图像从JavaScript传递到PHP(错误:请求URI太大),php,javascript,png,Php,Javascript,Png,我试图通过按下按钮将png图像从JavaScript传递到PHP页面。但它返回一个错误,指出“请求URI太大”。以下是我的密码: myJavaScript.js var w = window.open(); var dom = w.document; var a = canvas[0].toDataURL("image/png"); dom.write('<

我试图通过按下按钮将png图像从JavaScript传递到PHP页面。但它返回一个错误,指出“请求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>');  
var w=window.open();
var-dom=w.document;
var a=canvas[0].toDataURL(“图像/png”);
write(');
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长度超出此服务器的容量限制。”

更改为使用
POST
而不是
GET
,如果使用
GET
,则大数据的URL长度限制将被超过。

改用POST

dom.write('<form method="post" action="result.php"><input type="a" value="'+a+'" /><input type="submit" value="Submit" /></form>')
dom.write(“”)

由于使用GET方法传递变量需要将变量放入URL中,因此对于大变量,您将达到URL的最大长度。帖子没有限制,或者至少有更大的限制。

谢谢大家的回答!我现在就去修改代码:)