2012-05-16 36 views
4

獲取奇怪jQuery的錯誤消息

Syntax error, unrecognized expression: [object Object] @ jquery.js:4267 

這裏是一段代碼從JQ

Sizzle.error = function(msg) { 
throw new Error("Syntax error, unrecognized expression: " + msg); // Line 4267 
}; 

詳細

我已經預先聲明的數組aoData。這個由Datatables創建的數組,我沒有控制數組結構。

當我手動推PARAMS一個接一個這樣的:

aoData.push({ "name": "process", "value": "fetch" });

它工作得很好,沒有任何錯誤信息。

但問題是,當我嘗試在腳本的頂部聲明數組tableXtraPostParams和一個推一個數組的PARAMS到aoData,它仍然能正常工作,但我的代碼,但是從jQuery的得到奇怪的錯誤信息不。

Syntax error, unrecognized expression: [object Object] @ jquery.js:4267 

下面是一段代碼:(當我刪除$.each環路它錯誤信息消失)

var tableXtraPostParams = { 
    "process":"fetch", 
    "which":"mine" 
}; 
$.each(tableXtraPostParams, function(n, v){ 
    aoData.push({ 
     "name": n, 
     "value": v 
    }); 
}); 

這裏,看起來什麼aoData像推前

[Object { name="sEcho", value=1}, Object { name="iColumns", value=8}, Object { name="sColumns", value=""}, Object { name="iDisplayStart", value=0}, Object { name="iDisplayLength", value=25}, Object { name="mDataProp_0", value=0}, Object { name="mDataProp_1", value=1}, Object { name="mDataProp_2", value=2}, Object { name="mDataProp_3", value=3}, Object { name="mDataProp_4", value=4}, Object { name="mDataProp_5", value=5}, Object { name="mDataProp_6", value=6}, Object { name="mDataProp_7", value=7}, Object { name="sSearch", value=""}, Object { name="bRegex", value=false}, Object { name="sSearch_0", value=""}, Object { name="bRegex_0", value=false}, Object { name="bSearchable_0", value=true}, Object { name="sSearch_1", value=""}, Object { name="bRegex_1", value=false}, Object { name="bSearchable_1", value=true}, Object { name="sSearch_2", value=""}, Object { name="bRegex_2", value=false}, Object { name="bSearchable_2", value=true}, Object { name="sSearch_3", value=""}, Object { name="bRegex_3", value=false}, Object { name="bSearchable_3", value=true}, Object { name="sSearch_4", value=""}, Object { name="bRegex_4", value=false}, Object { name="bSearchable_4", value=true}, Object { name="sSearch_5", value=""}, Object { name="bRegex_5", value=false}, Object { name="bSearchable_5", value=true}, Object { name="sSearch_6", value=""}, Object { name="bRegex_6", value=false}, Object { name="bSearchable_6", value=true}, Object { name="sSearch_7", value=""}, Object { name="bRegex_7", value=false}, Object { name="bSearchable_7", value=true}, Object { name="iSortingCols", value=1}, Object { name="iSortCol_0", value=0}, Object { name="sSortDir_0", value="asc"}, Object { name="bSortable_0", value=true}, Object { name="bSortable_1", value=true}, Object { name="bSortable_2", value=true}, Object { name="bSortable_3", value=true}, Object { name="bSortable_4", value=true}, Object { name="bSortable_5", value=true}, Object { name="bSortable_6", value=true}, Object { name="bSortable_7", value=true}] 

這裏是推後

[Object { name="sEcho", value=1}, Object { name="iColumns", value=8}, Object { name="sColumns", value=""}, Object { name="iDisplayStart", value=0}, Object { name="iDisplayLength", value=25}, Object { name="mDataProp_0", value=0}, Object { name="mDataProp_1", value=1}, Object { name="mDataProp_2", value=2}, Object { name="mDataProp_3", value=3}, Object { name="mDataProp_4", value=4}, Object { name="mDataProp_5", value=5}, Object { name="mDataProp_6", value=6}, Object { name="mDataProp_7", value=7}, Object { name="sSearch", value=""}, Object { name="bRegex", value=false}, Object { name="sSearch_0", value=""}, Object { name="bRegex_0", value=false}, Object { name="bSearchable_0", value=true}, Object { name="sSearch_1", value=""}, Object { name="bRegex_1", value=false}, Object { name="bSearchable_1", value=true}, Object { name="sSearch_2", value=""}, Object { name="bRegex_2", value=false}, Object { name="bSearchable_2", value=true}, Object { name="sSearch_3", value=""}, Object { name="bRegex_3", value=false}, Object { name="bSearchable_3", value=true}, Object { name="sSearch_4", value=""}, Object { name="bRegex_4", value=false}, Object { name="bSearchable_4", value=true}, Object { name="sSearch_5", value=""}, Object { name="bRegex_5", value=false}, Object { name="bSearchable_5", value=true}, Object { name="sSearch_6", value=""}, Object { name="bRegex_6", value=false}, Object { name="bSearchable_6", value=true}, Object { name="sSearch_7", value=""}, Object { name="bRegex_7", value=false}, Object { name="bSearchable_7", value=true}, Object { name="iSortingCols", value=1}, Object { name="iSortCol_0", value=0}, Object { name="sSortDir_0", value="asc"}, Object { name="bSortable_0", value=true}, Object { name="bSortable_1", value=true}, Object { name="bSortable_2", value=true}, Object { name="bSortable_3", value=true}, Object { name="bSortable_4", value=true}, Object { name="bSortable_5", value=true}, Object { name="bSortable_6", value=true}, Object { name="bSortable_7", value=true}, Object { name="process", value="fetch"}, Object { name="which", value="all"}] 

我試圖解決的問題

  1. 我下載了jQ 1.7.2(開發版),並將其縮小爲1.7.2。沒有成功!
  2. 我試着寫

for(var p in tableXtraPostParams) { 
    aoData.push({ 
     "name": p, 
     "value": tableXtraPostParams[p] 
    }); 
} 

而不是$ .each。沒有成功!

我在這裏錯過了什麼?我真的不知道,爲什麼這個錯誤消息出現在Firefox日誌中,當我嘗試從$ .each內部推送並且代碼仍然完美工作時。

任何建議將不勝感激!

這裏是一個接一個的版本(無$。每次):datatables.net/examples/server_side/custom_vars.html

+0

我做了一個簡單的JSFiddle,http://jsfiddle.net/brantolsen/GkWzN/,使用你的代碼,一切似乎工作。你能否請嘗試在JSFiddle中複製錯誤?請注意,我嘗試了Chrome和Firefox。 –

+0

@BrantOlsen問題是aodata已經被聲明,我無法控制它的結構。擔心,但我無法控制它的結構。這是一個工作示例。 http://datatables.net/release-datatables/examples/server_side/pipeline.html我想推入其他參數到這個基於這個數組http://datatables.net/examples/server_side/custom_vars.html – heron

+0

爲什麼你是否在發佈在解析_標題下的代碼中使用jQuery時出現jQuery錯誤?你確定你正在尋找合適的地方嗎?你可以發佈堆棧跟蹤嗎? –

回答

1

我希望你找錯了地方的錯誤。如果您正在迭代並增強的對象和數組不是jQuery實例,並且您可以在不使用$ .each的情況下重現它,我認爲您應該看看稍後您如何使用aoData進行操作。

嘶嘶聲的選擇器引擎,所以找了,你做這樣的事情的地方:

$(aoData[0]) 

在這個假設的情況下,你這是jQuery的認爲它有一個選擇,但你已經交了的東西其他。

希望有幫助!

+0

Thx中試圖提供幫助。請參閱我的評論 – heron