【问题标题】:window.location.href window is not defined in javascriptwindow.location.href 窗口未在 javascript 中定义
【发布时间】:2016-07-24 23:14:07
【问题描述】:

我正在尝试使用 jquery 和 javascript 向使用我的联系表的用户发送自动回复。我实现的功能是这样的

    function sendReply(email,Name)
{
        var linker = "mailto:"+email
             + "?cc=myCCaddress@example.com"
             + "&subject=" + escape("automated Reply")
             + "&body=Hello "+Name+" Thank you for your e-mail. we will contact you soon.";

        window.location.href=linker;
}

我正在使用 nodeJs。错误消息指向window,并指出未定义参考错误窗口。

额外信息:当用户点击发送邮件按钮时,它将路由到一个页面,在该页面中实现了一个 jquery,该页面将在那里执行一些功能,并且当且仅当它成功时,我试图发送上面提到的回复。 就是这样,

        success: function(message) 
     {

      sendReply(req.body.email,req.body.name);
      res.send(304, '/#contact');  

     }

我已经调试并检查过了。它正确传递参数并运行到window.location.href=linker; 点。 我浏览了大量页面并花了几个小时来找出问题所在。 我不是 javascript 和 jquery 方面的专家,所以如果你能指出我的错误和解决方案,那将是一个很大的帮助。谢谢。

【问题讨论】:

  • 你不能在服务器(nodeJS)上使用window对象。这是一个纯粹的浏览器工件。
  • 服务器端 node.js 确实没有 window 实例。您必须将该行放在调用服务器端代码的客户端代码中。
  • 我可以在这里使用什么来代替 windows?
  • 这可能会有所帮助:stackoverflow.com/questions/12118971/…
  • 没什么。服务器不能直接与浏览器交互,只能发送浏览器可以处理的响应。

标签: javascript node.js email mailto


【解决方案1】:

有效吗?

function sendReply(email,Name,res)
{
            var linker = "mailto:"+email
                 + "?cc=myCCaddress@example.com"
                 + "&subject=" + escape("automated Reply")
                 + "&body=Hello "+Name+" Thank you for your e-mail. we will contact you soon.";

            //window.location.href=linker;


            res.writeHead(301,
                         {Location: linker}
                         );
            res.end();
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-01
    • 2019-07-01
    • 2021-02-02
    • 1970-01-01
    • 2014-05-04
    • 2021-10-06
    相关资源
    最近更新 更多