まず最初に - NO JQUERY。私はそれが大嫌いで、ネイティブ コードの実装がいかに非効率的であるかを想像することはできません。
私が求めているのは、Javascript から任意の PHP 関数を呼び出し、call_user_func_array を使用して関数にパラメーターを渡す方法です。私は以前にこの正確なコードを書いたことがありますが、どうやってそれをしたのか考えられません。
最後に、(JSで)次のようなことができるようにしたい:
var responseString = callPhpFunction(func, param1, param2, etc);
`
これは理想であり、おそらくいくつかのネストされた関数が含まれます。現時点では、基本的な Ajax リクエストがあります。POST である必要があり、複数の要求を同時に処理する必要はありません。
var lastResponse = '';
function phpFunction(funcName){
var ajaxRequest;
try{
// Opera 8.0+, Firefox, Safari
ajaxRequest = new XMLHttpRequest();
} catch (e){
// Internet Explorer Browsers
try{
ajaxRequest = new ActiveXObject('Msxml2.XMLHTTP');
} catch (e) {
try{
ajaxRequest = new ActiveXObject('Microsoft.XMLHTTP');
} catch (e){
// Something went wrong
alert('Ajax/Browser problem!');
return false;
}
}
}
// Create a function that will receive data sent from the server
ajaxRequest.onreadystatechange = function(){
if(ajaxRequest.readyState == 4){
//Seems to work.
window.lastResponse = ajaxRequest.responseText;
}
}
ajaxRequest.open('POST', 'ajaxCall.php', true);
ajaxRequest.send('func='+funcName); //Need to generate parameters dynamically, not sure how to do that
}
これはそれほど複雑ではありませんが、適切な実装を見たことがありません。
何か案は?