상황이 있습니다.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의 exec 기능을 사용하지 않도록 페이지를 새로 고치지 않으면 php로 묻는 것을 수행 할 수 없습니다. 아약스가 필요해. 어떤 아약스 코드를 사용해 보셨습니까? 어떤 문제가 있습니까? – Tucker
귀하의 질문에 명확하지 않은 답변을 드릴 수 없습니다. 요구 사항, 특히 '원격 서버'가 구체화 한 요구 사항을보다 명확하게 정의하십시오. 추가 의견을 쓰지 마시고 위에 질문을 편집하십시오. – arkascha
글쎄, 원격 페이지에 접근하기 위해'Header (Location : Remotr Adress? querystring)'를 시도했지만, 아약스 호출 리다이렉션이 가능하지 않다는 것을 알게되었다. 왜'exec()'가 여기서 작동하지 않을까요? –