var transactionID;
$.get('http://127.0.0.1/getId', null,function(data) {
transactionID = data;
alert(transactionID);
});
alert(transactionID);
get方法内的警报正确返回值。但是,当get方法之外的第二个警报中的transactionID仍为null时?如何正确地从get方法传递返回数据?
答案 0 :(得分:1)
$.get
是异步执行的,即它将请求发送到服务器并执行后面的行。
因此,在服务器返回答复之前将执行外部警报,并且当它执行时它将执行get
方法中的函数。
为了使用返回的值,在get
调用中放置任何所需的代码,例如调用另一个函数将transactionID作为参数传递给它:
var transactionID;
$.get('http://127.0.0.1/getId', null,function(data) {
transactionID = data;
alert(transactionID);
doSomethingWithID(transactionID);
});
或者只是调用一个函数使用它:
$.get('http://127.0.0.1/getId', null,function(data) {
transactionID = data;
alert(transactionID);
doSomethingWithID();
});
function doSomethingWithID()
{
// code that uses transationID
}