2016-08-19 85 views
0

我打电话给一个ajax调用,其中提供数据的数组,当我要在控制台中调试此代码显示我dataundefined为什么?为什么数据显示undefined在ajax

+0

我很惊讶,它运行在所有,该代码尝试读取未申报的符号价值。你必须在你没有显示的地方有一个'var data'。 –

+0

数据声明高于 – Mangrio

+0

不在其使用的范围内。 –

回答

1

在你的第一个Ajax调用的success功能,你有这样的:

success: function (response) { 
    orderId = data; 
    if (data != null) { 
     orderStatus = "Order has been placed successfully."; 
    } 
} 

请注意,你叫参数回调response,但随后使用data。引用的代码应该失败,因为在回调的范围中没有data(您唯一的地方var data内部另一个回调)。我假设你已经在你没有引用的代码中声明它。

我假设你的意思response,不data

success: function (response) { 
    orderId = response; 
    if (response != null) { 
     orderStatus = "Order has been placed successfully."; 
    } 
} 
+0

你是对的。我需要我的订单才能成功?我应该怎么做 – Mangrio

+0

我应该在顶部声明'var data'? – Mangrio

+1

@QadeerMangrio:不,你应该做我在答案中给你看的。该代码的相当不明确,但您可能还需要[阅读此问题的答案](http://stackoverflow.com/questions/14220321/how-do-i-return-the-response-from-an-asynchronous-call) 。 –