2016-08-19 118 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) 。 –