2011-06-09 60 views
0

我試圖讓使用jQuery Ajax調用,但(使用Firebug)發現,「.render不是一個函數」,在下面的代碼行:JQuery/Ajax:渲染還是替換?

$('#readTemplate').render(response).appendTo("#records"); 

所以,我下載jquery.render.js ,它負責渲染錯誤的,但我現在得到「.replace不是一個函數」到下一行(S):

return tem.replace(/\$\{([^\}]+)\}\.each\(([^\)]+)\)/g, function(w, k, t) 

我試過replaceTo,但沒有奏效。所有的幫助表示讚賞。

+2

你怎麼定義'tem'? – brenjt 2011-06-09 16:04:17

回答

0

嘗試將tem分配爲新的var,然後使用replace。

var newvar = tem; 
newvar.replace(/\$\{([^\}]+)\}\.each\(([^\)]+)\)/g, function(w, k, t) 

如果這不起作用,請嘗試更新您的jQuery版本。

編輯:

確保您的VAR tem是一個字符串替換爲一個字符串函數。所以如果:

var tem = "Some random string"; 
tem.replace() 

替換將工作。請確保以前定義的tem不返回null或未定義。嘗試在替換函數之前提示tem並查看它返回的內容。

+0

試過,但沒有運氣。我使用的是jquery 1.6.1。 jquery.render.js文件使用1.4.4,但它沒有意義,1.6.1。不會向後兼容?謝謝。 – user464180 2011-06-09 16:37:00

+0

謝謝。我嘗試了以下運氣:var bind = function(tem,o){var newvar = tem;警報(newvar); return newvar.replace(/\$\{([^\}]+)\}\.each\(([^\)]+)\)/g,function(w,k,t){That's only a函數的片段,但第一個替換調用。 「tem」是通過JSON傳入的項目數組,因此.replace不起作用 – user464180 2011-06-09 18:08:45