Javascript从ajax函数传递变量
我是一个学习者,我面临着一个问题。首先我做了一个变量。然后通过ajax函数,我得到了一个json数据。然后我解析它,并尝试将json数据传递给名为var invoice\u details的变量。然后,通过单击事件,我试图查看变量,但它仅显示0。但是我的Javascript从ajax函数传递变量,javascript,jquery,ajax,json,Javascript,Jquery,Ajax,Json,我是一个学习者,我面临着一个问题。首先我做了一个变量。然后通过ajax函数,我得到了一个json数据。然后我解析它,并尝试将json数据传递给名为var invoice\u details的变量。然后,通过单击事件,我试图查看变量,但它仅显示0。但是我的console.log(已解析)命令,在我的控制台日志上显示json数据。但是console.log(发票详细信息)在我的操作功能上显示0。我怎么了 //function order started var invoice_details; fu
console.log(已解析)命令,在我的控制台日志上显示json数据。但是console.log(发票详细信息)代码>在我的操作功能上显示0。我怎么了
//function order started
var invoice_details;
function order(val1){
var order_no=getQueryVariable("order_number");
//AJAX START
$.ajax({
url: "/anamika/function/order.php",
type: "POST",
data: {item_code: item_added, paymentdetails: val1, order_no: order_no },
success:function(data, textStatus, jqXHR)
{
//console.log(data);
var parsed = JSON.parse(data);
var invoice_details = parsed;
console.log(parsed);
},//Success finished
error:function(jqXHR, textStatus, errorThrown)
{
} //Error finished
}) //AJAX FINISHED
}
//function order finished
order('91');
$("#invoice_pay").live("click", function (event) {
console.log(invoice_details);
})
当您声明var invoice\u details=parsed时
在success
回调中,您实际上正在创建一个新的局部变量,它只存在于success
回调的范围内,因此这个新的局部变量将获取您的数据,而不是执行console.log的全局变量
您已经在外部定义了该变量,因此只需删除var
声明并执行以下操作:
invoice_details = parsed;
当您声明var invoice\u details=parsed时
在success
回调中,您实际上正在创建一个新的局部变量,它只存在于success
回调的范围内,因此这个新的局部变量将获取您的数据,而不是执行console.log的全局变量
您已经在外部定义了该变量,因此只需删除var
声明并执行以下操作:
invoice_details = parsed;