global var (что является худшим решением, но это то, что вы просили):
$("a.note").click(function( evt ){
var note = $(this).attr("value");
var preid = $(this).attr("id");
$.ajax({
type: 'GET',
url: 'style/ajax.php',
data: 'do=note&value=' + note + '&preid=' + preid,
success: function(data)
{
window.data = data;
alert(data);
}
});
});
глобальные переменные опасны. Может быть, переменной вне области успеха достаточно?
Var вне success
обратного вызова:
$("a.note").click(function( evt ){
var note = $(this).attr("value");
var preid = $(this).attr("id");
var dataFromServer = null;
$.ajax({
type: 'GET',
url: 'style/ajax.php',
data: 'do=note&value=' + note + '&preid=' + preid,
success: function(data)
{
dataFromServer = data;
alert(data);
}
});
});
Последний вариант - иметь скрытый вход для хранения данных;
success: function(data)
{
$('#hiddenFieldId').val(data);
alert(data);
}
На что обратить внимание:
- Я изменил ваш селектор с
a[class=note]
на a.note
, что лучше.
success
является обратным вызовом , что означает, что он не будет запущен до тех пор, пока ответ не достигнет клиента, пока ваше глобальное \ outside var \ hidden входное значение не будет равно нулю. если вы не хотите, чтобы ajax
был asynchronous
, вы можете определить его в следующих опциях:
$.ajax({
async: false, // <---
type: 'GET',
url: 'style/ajax.php',
data: 'do=note&value=' + note + '&preid=' + preid,
success: function(data)
{
dataFromServer = data;
alert(data);
}
});