使用js激活外部脚本背景?

时间:2015-06-14 13:42:45

标签: javascript php content-management-system

是否可以通过点击来发起后台脚本的执行?
我在CMS / CRM中,并希望在单击CMS / CRM中的某个链接时触发外部文件加载。

e.g。激活php.mailer发送电子邮件。

使用(跨域漏洞?)

时似乎是一个安全问题
foobar.onload()

如果不是,则不会在后台执行该文件。 我已经看到它在使用

的python中解决了
subprocessor()

外部脚本虽然在我的域上,但不会触及CMS / CRM 有什么想法吗?

2 个答案:

答案 0 :(得分:1)

在JavaScript中,您无法访问文件系统,但您可以使用ajax通过不同的方法请求一些URL(GET,POST ...)。

您从网址调用的脚本可以执行一个功能,以便在需要时发送电子邮件。

如果你了解jQuery,你可以在JavaScript中做类似的事情

$.get("myScript.php");

myScript.php 文件中:

mail('you@mailhost.com', 'Hello', 'Cool !');

如果您的php脚本不在同一个域中,您应该检查 Access-Control-Allow-Origin标头,它允许您的客户端(执行ajax脚本的浏览器)调用远程php脚本

答案 1 :(得分:0)

您可以让您的点击事件处理程序发出AJAX请求。例如:

myButton.onclick = function (e)
{
    // Make an AJAX request with jQuery
    $.get('/ajax/getFoo.php', function (data)
    {
        // This runs when the AJAX call returns
    });
}

或者,您也可以查看jQuery .load()函数:

http://api.jquery.com/load/