equal
deleted
inserted
replaced
186 setFormsTarget(node); |
186 setFormsTarget(node); |
187 } |
187 } |
188 _loadDynamicFragments(node); |
188 _loadDynamicFragments(node); |
189 // XXX [3.7] jQuery.one is now used instead jQuery.bind, |
189 // XXX [3.7] jQuery.one is now used instead jQuery.bind, |
190 // jquery.treeview.js can be unpatched accordingly. |
190 // jquery.treeview.js can be unpatched accordingly. |
191 jQuery(CubicWeb).trigger('server-response', [true, node]); |
191 jQuery(cw).trigger('server-response', [true, node]); |
192 jQuery(node).trigger('server-response', [true, node]); |
192 jQuery(node).trigger('server-response', [true, node]); |
193 } |
193 } |
194 |
194 |
195 function remoteCallFailed(err, req) { |
195 function remoteCallFailed(err, req) { |
196 cw.log(err); |
196 cw.log(err); |
294 var deferred = new Deferred(); |
294 var deferred = new Deferred(); |
295 jQuery.ajax({ |
295 jQuery.ajax({ |
296 url: url, |
296 url: url, |
297 type: (reqtype || 'GET').toUpperCase(), |
297 type: (reqtype || 'GET').toUpperCase(), |
298 data: form, |
298 data: form, |
|
299 traditional: true, |
299 async: true, |
300 async: true, |
300 |
301 |
301 beforeSend: function(xhr) { |
302 beforeSend: function(xhr) { |
302 deferred._req = xhr; |
303 deferred._req = xhr; |
303 }, |
304 }, |
304 |
305 |
305 success: function(data, status) { |
306 success: function(data, status) { |
306 if (deferred._req.getResponseHeader("content-type") == 'application/json') { |
|
307 data = cw.evalJSON(data); |
|
308 } |
|
309 deferred.success(data); |
307 deferred.success(data); |
310 }, |
308 }, |
311 |
309 |
312 error: function(xhr, status, error) { |
310 error: function(xhr, status, error) { |
313 try { |
311 try { |
326 } else { |
324 } else { |
327 var result = jQuery.ajax({ |
325 var result = jQuery.ajax({ |
328 url: url, |
326 url: url, |
329 type: (reqtype || 'GET').toUpperCase(), |
327 type: (reqtype || 'GET').toUpperCase(), |
330 data: form, |
328 data: form, |
|
329 traditional: true, |
331 async: false |
330 async: false |
332 }); |
331 }); |
333 // check result.responseText instead of result to avoid error encountered with IE |
|
334 if (result.responseText) { |
|
335 // XXX no good reason to force json here, |
|
336 // it should depends on request content-type |
|
337 result = cw.evalJSON(result.responseText); |
|
338 } |
|
339 return result; |
332 return result; |
340 } |
333 } |
341 } |
334 } |
342 |
335 |
343 //============= higher level AJAX functions using remote calls ===============// |
336 //============= higher level AJAX functions using remote calls ===============// |
637 remoteExec = cw.utils.deprecatedFunction( |
630 remoteExec = cw.utils.deprecatedFunction( |
638 '[3.9] remoteExec() is deprecated, use loadRemote instead', |
631 '[3.9] remoteExec() is deprecated, use loadRemote instead', |
639 function(fname /* ... */) { |
632 function(fname /* ... */) { |
640 setProgressCursor(); |
633 setProgressCursor(); |
641 var props = { |
634 var props = { |
642 'fname': fname, |
635 fname: fname, |
643 'pageid': pageid, |
636 pageid: pageid, |
644 'arg': $.map(cw.utils.sliceList(arguments, 1), jQuery.toJSON) |
637 arg: $.map(cw.utils.sliceList(arguments, 1), jQuery.toJSON) |
645 }; |
638 }; |
646 var result = jQuery.ajax({ |
639 var result = jQuery.ajax({ |
647 url: JSON_BASE_URL, |
640 url: JSON_BASE_URL, |
648 data: props, |
641 data: props, |
649 async: false |
642 async: false, |
|
643 traditional: true |
650 }).responseText; |
644 }).responseText; |
651 if (result) { |
645 if (result) { |
652 result = cw.evalJSON(result); |
646 result = cw.evalJSON(result); |
653 } |
647 } |
654 resetCursor(); |
648 resetCursor(); |
659 asyncRemoteExec = cw.utils.deprecatedFunction( |
653 asyncRemoteExec = cw.utils.deprecatedFunction( |
660 '[3.9] asyncRemoteExec() is deprecated, use loadRemote instead', |
654 '[3.9] asyncRemoteExec() is deprecated, use loadRemote instead', |
661 function(fname /* ... */) { |
655 function(fname /* ... */) { |
662 setProgressCursor(); |
656 setProgressCursor(); |
663 var props = { |
657 var props = { |
664 'fname': fname, |
658 fname: fname, |
665 'pageid': pageid, |
659 pageid: pageid, |
666 'arg': $.map(cw.utils.sliceList(arguments, 1), jQuery.toJSON) |
660 arg: $.map(cw.utils.sliceList(arguments, 1), jQuery.toJSON) |
667 }; |
661 }; |
668 // XXX we should inline the content of loadRemote here |
662 // XXX we should inline the content of loadRemote here |
669 var deferred = loadRemote(JSON_BASE_URL, props, 'POST'); |
663 var deferred = loadRemote(JSON_BASE_URL, props, 'POST'); |
670 deferred = deferred.addErrback(remoteCallFailed); |
664 deferred = deferred.addErrback(remoteCallFailed); |
671 deferred = deferred.addErrback(resetCursor); |
665 deferred = deferred.addErrback(resetCursor); |