我有一種情況;在通過ajax調用的頁面上執行其他服務器腳本
我通過AJAX調用PHP頁面,需要在具有郵件服務器權限的其他服務器上執行腳本。在數據庫中輸入數據後,要在PHP頁面上更具體,我必須使用查詢字符串中的某些參數訪問電子郵件服務器。
在index.php頁面上,我有一個提交按鈕,它通過AJAX調用在數據庫中輸入數據,然後必須發送一封電子郵件給用戶以獲取信息。 但對於電子郵件我需要執行PHP腳本在其他服務器上有電子郵件服務器訪問。
客戶端
$.ajax({
url:'vpms/server/updating.php',
type:'POST',
data:formvalues,
success: function(data) {
closelightbox('black_overlay','vendorfeedback',ref-1,'CLOSE');
}
});
IN updating.php
enter code here
if($_POST['Type']=='SUBMITRATING')
{
$sql->Query("INSERT INTO vpms_procurement(`prno`,`vn`,`category`,`paymentterms`,`c1`,`delivery`,`c2`,`communication`,`c3`,`dated`,emaildate) VALUES('$_POST[PRNO]','$_POST[$vendor]','$_POST[$category]','$_POST[$payment]','$_POST[$payment_txt]','$_POST[$delivery]','$_POST[$delivery_txt]','$_POST[$response]','$_POST[$response_txt]',NOW(),'$_POST[$date]')");
}
$enc=Autoloader::encrypt(serialize($array));
// Sending request to other server for email
header("Location: 10.89.6.2/managerConfirmation.php?token=$enc"); // This is not possible through ajax call
//OR
exec("10.89.6.2/managerConfirmation.php?token=$enc")
}
,我可以想到的選項。
- 使用exec(「PHP script?q = value」);
- 或者在Ajax調用成功時通過JSONP調用另一個調用來訪問遠程服務器。
但我不知道這些選項是多麼實際,因爲我也在查詢字符串中使用加密數據。
以及你不能做什麼你問你的PHP,除非你刷新你的頁面,以便排除PHP的執行功能。你需要ajax。你嘗試過哪些ajax代碼?你有什麼問題? – Tucker 2013-02-14 07:38:23
你的問題不清楚,不能回答。請嘗試更清楚地定義需求,特別是'遠程服務器'所反映的內容。請不要寫更多評論,編輯上面的問題。 – arkascha 2013-02-14 07:39:09
嗯,我正在嘗試'頭部(位置:Remotr地址?querystring)'來訪問遠程頁面,但後來我才知道在Ajax調用重定向是不可能的;爲什麼'exec()'在這裏不起作用? – 2013-02-14 07:41:53