2013-08-20 37 views
1

我遇到了PHP到JavaScript的問題,然後排序。我有以下的JS腳本對象沒有方法排序

​​

這是傳遞數組是通過json_encode和陣列看起來像這樣

Array ([0] => Array ([Name] => 123456 [Clean_Name] => 123456 [CreateDate] => 1372479841) [1] => Array ([Name] => 123456 [Clean_Name] => 123456 [CreateDate] => 1372479841)) 

但是我得到上面的錯誤,當我試圖把它作爲data.sort()。有任何想法嗎?

+6

看起來像你的數據是一個對象,不是數組 – AdityaSaxena

+2

console.log(數據)記錄是什麼? – AdityaSaxena

+1

'typeof data'是什麼?如果它是'String',則需要[解析](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse)。 –

回答

1

PHP數組不是js數組,而是JSON對象,所以你不能在你的js代碼上有數組。但是,有一個解決方法,請參閱this回答以獲取更多信息。

乾杯

+0

謝謝你,我會給這個鏡頭 – SernOne

+0

但是我做了這個,但是它仍然沒有正確放置,仍然給我那個對象沒有方法'排序'錯誤。沒有辦法將對象轉換爲JavaScript中的數組。我相信data.sort()只適用於其數組。該方法仍將其作爲對象傳遞。 – SernOne

0

我想我找到了我的問題,但是我不知道如何解決它。當我將json_encode的變量傳遞給javascript函數時,它將它作爲字符串傳遞,因此data [0] == [...我在這裏丟失了什麼

0

ALRIGHT哇,我發現我的問題我很抱歉,我是所以啞

<script>sortby('aplha', '<?=json_encode($teamList);?>');</script> 

那是我老這是我的新

<script>sortby('aplha', <?=json_encode($teamList);?>);</script> 

這是'這是不正確的傳遞......它工作得很好,現在我打我的辦公桌這麼難......

+0

如果你有補充或澄清,請[編輯](http://stackoverflow.com/posts/18326242/edit)這個問題,而不是發佈一系列答案。 – MattDMo