2011-12-20 57 views
0

這裏是簡化的代碼,我打電話給JS裏面的epr_lib.php。AJAX - XMLHttpRequest打開php文件htdocs外

epr_lib.php位於cgi-bin文件夾中,這意味着在htdocs之外。

在cgi-bin文件夾中我有這些文件:epr_lib.php; newrequest.php。

我的問題是:如何在ajaxRequest.open中調用htdocs之外的文件?或者這是不可能的?

var ajaxRequest; 
ajaxRequest = new XMLHttpRequest(); 
ajaxRequest.onreadystatechange = function(){ 
    if(ajaxRequest.readyState == 4){ 
     suppl_addrss.innerHTML = ajaxRequest.responseText; 
    } 
} 
ajaxRequest.open("GET", "newrequest.php?task=getsuppladdrss", true); 
ajaxRequest.send(null); 

謝謝。

回答

1

不,這是不可能的。 Ajax請求會爲該文件發出http請求,因此您必須在htdocs中提供該請求。

您可以創建加載cgi-bin文件的代理腳本。只需創建一個包含cgi-bin文件的文件:

// myproxy.php 
// you'll have to get the querystring and use it as a variable in newrequest.php 
$vars = $_GET("task"); 
include('../cgi-bin/newrequest.php');