2011-06-05 36 views
0

我想知道是否可以通過電子郵件發送由JavaScript中的函數返回的值?或者我必須使用php/ajax?通過電子郵件發送函數返回的值

從以下示例中,我想通過電子郵件將abc發送給我自己?如何做呢?

<html> 
<head><script> 
var t = "abc"; 
function test(){ 
return t;} 
</script></head> 
<body onload = "test()"> 
</body></html> 
+1

ajax + PHP'mail()' – atlavis 2011-06-05 10:41:49

回答

2

您需要通過XHR將其發送到您的服務器,然後您的服務器可以通過電子郵件發送它。

1

沒有直接的方法。我會使用jQuery'$.post將相關信息發佈到PHP頁面,然後使用最簡單的郵件將其正確命名爲mail函數。

在主頁面或者在一個單獨的.js腳本標記的一個文件:

$.post("mailer.php", {data: "abc"}, function(data) { 
    // Alert yourself whether it was successful if you want 
}); 

而且mailer.php(用自己的價值觀替換這些):

<?php 
$to  = '[email protected]'; 
$subject = 'the subject'; 
$message = $_POST['data']; 
$headers = 'From: [email protected]'; 

mail($to, $subject, $message, $headers); 
?> 
+0

對於發佈你是否意味着像這樣放置在函數內部:???? $ .post('ajax/test.html',function(text){ $('。result')。html(text); }); – user782400 2011-06-05 10:55:01

+0

是的,但請記住,您要發佈**數據**。所以它更像'$ .post(「somefile.php」,{data:「stuff」},function(text){...})'。請注意第二個參數。你的例子可以成功地從test.html中獲取輸出,但它實際上不會實現_send_ any。我編輯了一個更完整的例子到我原來的文章。例如: – brymck 2011-06-05 11:01:07

+0

:如果一個名爲imageUrl的變量由網頁截圖的url組成,那麼下面的例子會起作用嗎? $。員額( 「mailer.php」,{數據:IMAGEURL},功能(數據)){...}); – user782400 2011-06-06 21:50:19

1

這裏是一個很好的解釋從另一個similar question

您不能發送電子郵件與JavaScript, 最接近你可以得到 將是一個mailto,它打開 默認電子郵件客戶端 - 但不會 發送任何東西。

電子郵件應該從服務器發送 - 提交表單以正常的方式,並 構建服務器上的電子郵件和 發送....

另一個答案也給出了有關的一些細節使用mailto