试图运行一个脚本,(test.al();)和test.al内部,它的名为getcrypt.php(); php脚本在web服务器上,它工作中。目前,这些是我的脚本为什么这会返回我'undefined'
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' 的警报,如果我添加一个警报(V);权利返还v在,它会告诉我“价值”,但不能使用它的变量外...
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;
}
});
}
}
这会给我正确的值警报(仅次于“未定义”)
也许这可能有所帮助:http://stackoverflow.com/questions/5403342/js-return-result-from-nested-ajax-success-function – vodka 2013-02-15 11:32:22