スクリプト (test.al();) を実行しようとすると、test.al 内で getcrypt.php(); と呼ばれ、php スクリプトは Web サーバー上にあり、動作しています。現在、これらは私のスクリプトです
JS
var getcrypt = {
php: function () {
$.ajax({
url: "server.com/return.php",
type: "POST",
async: true,
data: "id=getit",
success: function (msg) {
var v = msg.match(/^.*$/m)[0];
return v;
}
});
}
}
var test = {
al: function () {
a = getcrypt.php();
alert(a);
}
}
PHP
<?php
$id = $_POST['id'];
if ('getit' == $id){
$value = 'VALUE';
echo $value;
}else{
echo 0;
}
?>
このように、「unidefined」のアラートが表示され、alert(v); を追加すると、return vの直前に、「VALUE」が表示されますが、変数の外では使用できません...
var getcrypt = {
php: function () {
$.ajax({
url: "server.com/return.php",
type: "POST",
async: true,
data: "id=getit",
success: function (msg) {
var v = msg.match(/^.*$/m)[0];
alert(v);
return v;
}
});
}
}
これにより、正しい値のアラートが表示されます(「未定義」の後)