在我的應用程序,我有包括該行作爲表的一部分的觀點:回調方法不評估
<td>{{=A('Callback test', callback=URL('jquery_test'), target=':eval')}}</td>
jquery_test是做了這樣的方法:
def jquery_test():
return "jQuery('#option_list').html('Example jQuery string');"
這在web2py的早期版本中工作:字符串「示例jQuery字符串」被正確注入到視圖的option_list divison中。
今天早上,我意識到我在web2py的背後,我升級到了2.9.5穩定。現在,上面的代碼重定向返回的字符串:我用「jQuery('#option_list')。html('Example jQuery string');'在上面。該頁面的網址是
"http://127.0.0.1:8000/myApp/default/jquery_test"
我不能說什麼升級改變了這種行爲,因爲我是從2.2出事到2.9.5。任何想法改變了什麼,以及如何改正它?
謝謝。
編輯了一些額外的信息......我已經更新了web2py.js(以及其他.js和.css文件,如適用),正如Anthony所建議的。
在視圖文件中使用這個回調:
<td>{{=A('Callback test', callback=URL('jquery_test'), target='options_list')}}</td>
正確調用jquery_test方法和填充DIV ID = 'options_list'
使用這個回調:
<td>{{=A('Callback test', callback=URL('jquery_test'), target=':eval')}}</td>
不調用jquery_test方法。它永遠不會執行。
我希望這提供了一些額外的線索。
謝謝,安東尼。我剛剛升級了應用程序的/ static文件夾中的web2py.js文件,但我仍然得到了描述的行爲:新的重定向視圖,而不是jQuery評估。還有什麼我需要更新? – johnz
再次感謝安東尼。我會從response.js方法攻擊這個。我感謝您的幫助。 – johnz
使用response.js的工作原理如Anthony所示。再次感謝您的幫助和見解! – johnz