web/component.py
branchstable
changeset 9587 0f0199948f93
parent 9536 1e39c5e91b68
child 9700 da7d341cca76
--- a/web/component.py	Fri Mar 14 10:51:05 2014 +0100
+++ b/web/component.py	Mon Mar 24 16:29:18 2014 +0100
@@ -108,8 +108,12 @@
         view = self.cw_extra_kwargs.get('view')
         if view is not None and hasattr(view, 'page_navigation_url'):
             url = view.page_navigation_url(self, path, params)
+        elif path in ('json', 'ajax'):
+            # 'ajax' is the new correct controller, but the old 'json'
+            # controller should still be supported
+            url = self.ajax_page_url(**params)
         else:
-            url = self.ajax_page_url(**params)
+            url = self._cw.build_url(path, **params)
         # XXX hack to avoid opening a new page containing the evaluation of the
         # js expression on ajax call
         if url.startswith('javascript:'):
@@ -118,9 +122,9 @@
 
     def ajax_page_url(self, **params):
         divid = params.setdefault('divid', 'pageContent')
-        params['fname'] = 'view'
         params['rql'] = self.cw_rset.printable_rql()
-        return self._cw.build_url('ajax', **params)
+        return js_href("$(%s).loadxhtml(AJAX_PREFIX_URL, %s, 'get', 'swap')" % (
+            json_dumps('#'+divid), js.ajaxFuncArgs('view', params)))
 
     def page_link(self, path, params, start, stop, content):
         url = xml_escape(self.page_url(path, params, start, stop))