如何从jquery ajax调用访问数据返回.$ .ajax()之外.
//Reloads the inital page
function jobexist( jobname )
{
var dataString = 'jobname=' + jobname;
var found = false;
$.ajax(
{
type: 'POST',
url: "/genode/jobs/jobexist.m",
data: dataString,
dataType: 'json',
success: function(data)
{
alert("Passed");
if( data.result == 0 )
{
found = true;
}else{
found = false;
}
},
error: function( data )
{
alert("Login Failed");
return -1; //alert(data);
}
});
if( found == true )
{
alert("found!")'
return true;
}else{
alert("not found!");
return false;
}
}
if( !jobexist(jobname) )
{
$("#jobname_error").text("This jobname already exist.");
$("#jobname_error").show();
return false;
}
Run Code Online (Sandbox Code Playgroud)
Ajax 异步工作,因此您的 if find 语句将在 ajax 调用完成之前被命中。
您可以做的是从 ajax success 函数内部调用一个函数,并将您想要的任何数据传递给它
function found(data){
if( data.result == 0 )
{
alert("found!")
return true;
}else{
alert("not found!");
return false;
}
}
$.ajax(
{
type: 'POST',
url: "/genode/jobs/jobexist.m",
data: dataString,
dataType: 'json',
success: function(data)
{
alert("Passed");
found(data);
},
error: function( data )
{
alert("Login Failed");
return -1; //alert(data);
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2258 次 |
| 最近记录: |