2015-06-14 47 views
1

是否可以通過點擊觸發後臺腳本的執行?
我位於CMS/CRM內,想要在點擊CMS/CRM內某個鏈接時觸發外部文件加載。用js引發外部腳本背景?

例如激活php.mailer發送電子郵件。

似乎使用時是安全問題(跨域漏洞?)

foobar.onload() 

,如果不是這樣,它不會在後臺執行該文件。 我看到它在python中使用與

subprocessor() 

外部腳本將在我的域名上,但不會觸及CMS/CRM。
任何想法?

+0

看看阿賈克斯 – Maxxi

+1

採取的訪問控制允許來源看標題 http://stackoverflow.com/questions/10636611/how-does-access-control-allow-origin-header-work – mvladk

回答

1

在JavaScript中,您無法訪問文件系統,但您可以使用ajax以不同的方法(GET,POST ...)請求一些URL。

從url調用的腳本可以執行一個函數發送電子郵件,如果你想。

如果你知道的jQuery,你可以做這樣的事情在JavaScript

$.get("myScript.php"); 

而在你myScript.php文件:

mail('[email protected]', 'Hello', 'Cool !'); 

如果你的PHP腳本是不是在同一個域中,您應該檢查訪問控制允許源標頭,它允許您的客戶端(執行ajax腳本的瀏覽器)調用遠程php腳本

+0

謝謝!雖然我無法在當前的CRM中應用此解決方案。你的回答幫助我與另一個:) – leopold

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/