2

我尝试通过按下按钮将 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>');  

结果.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 的长度超出了此服务器的容量限制”。

4

2 回答 2

8

改用帖子。

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

因为使用 GET 方法传递变量需要将变量放在 URL 中,所以对于大型变量,您将达到 URL 的最大长度。POST 没有限制,或者至少有一个更大的限制。

于 2012-06-25T06:01:12.390 回答
3

改为使用POST代替GET,如果使用GET,则超出大数据的 URL 长度限制。

于 2012-06-25T06:00:57.907 回答