0

我正在编写以下脚本,用于邮寄用户动态输入的数据。这适用于数据较少的内容,并且 Outlook 窗口可以正确打开数据。但是当我对较大的数据使用相同的逻辑时。打开 Outlook 窗口时出现错误,提示“命令行参数无效。验证您正在使用的开关”。请参阅此链接了解错误 ( http://support.citrix.com/article/CTX123773 ) 发生了什么可能是这个问题的原因。请帮助解决这个问题。

提前致谢 。

<html>
<head>
  <script>
    var bodyScript = " ";
    var json = " ";

    function ajaxCall() {
      ajax {
        url: function: loadDetails,
        error: ,
      }
    }

    function loadDetails() {
      bodyScript += "Hi" + json.Name;
      .....
      bodyScript += "%0D%0Awelcome to our Camp .Your ID is " + json.ID;
      .....
    }

    function sendEmail() {
      var link = "mailto:" +
        +"?cc=Sam&subject=test&body=" + bodyString;
      alert('bodyString before mailing ' + bodyString);
      window.location.href = link;
    }
  </script>

  <body>
    <div id=”btnSubmit” onclick=sendEmail()”&gt;click me</div>
  </body>
</html>
4

1 回答 1

1

试试encodeURIComponent(bodyString),似乎有一些字符(可能的引号)与命令行选项混淆:

var link = "mailto:"+
+"?cc=Sam&subject=test&body="+encodeURIComponent(bodyString);

我在示例中看到,您已经以某种方式对换行符进行了 urlencode。因此,encodeURIComponent(bodyString)您可能不得不将其变成encodeURIComponent(decodeURIComponent(bodyString))

演示:http: //jsfiddle.net/H9ERc/

于 2012-09-30T19:39:48.017 回答