我有一种情况;在通过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