我有以下代码
var test;
$.ajax({
type: "GET",
url: "../views/person/controller.php?actor=person&action=checkAge",
data: "age=" + value,
success: function(msg){
console.log(msg);
test = msg;
},
});
Validate.fail(test);
Run Code Online (Sandbox Code Playgroud)
现在测试变量应该像控制台所说的那样给出错误.但测试变量给了我不明确的原因?
我有以下功能很好,我使用JSONP来克服跨域,写了一个http模块来改变内容类型,并没有在url中追加一个回调名称.
function AddSecurityCode(securityCode, token) {
var res=0;
$.ajax({ url: "http://localhost:4000/External.asmx/AddSecurityCode",
data: { securityCode: JSON.stringify(securityCode),
token: JSON.stringify(token)
},
dataType: "jsonp",
success: function(json) {
alert(json); //Alerts the result correctly
res = json;
},
error: function() {
alert("Hit error fn!");
}
});
return res; //this is return before the success function? not sure.
Run Code Online (Sandbox Code Playgroud)
}
res变量是alwayes未定义.而且我不能在jsonp中使用async = false.那么如何才能将结果返回到函数外部?我肯定需要为次要的电话做这件事.
请指教,谢谢.问题是我无法在此函数之外返回结果值