Edward,
On Fri, May 30, 2014 at 2:02 PM, Edward Cheng c4150221@gmail.com wrote:
I'm writting AJAX part now. Have a look at this commit:
https://github.com/WhaleWatching/phpmyadmin/commit/a382070ee42b72474842d20e8... See my comment on it: For get response data I add a param, run between requestHandler and responseHandler.
As I understand, this mid-handler is your responsehandler that subsequently makes a call to the generic responsehandler of ajax.js. So it is not a real custom handler (that requests + handles response independent of the generic one)
Also, as I understand from your code, the proposed console would store a log of run queries and on running a query from console, the results will be displayed in the same way as happens when running a query from SQL tab. Right ?
As per this understanding, you need a real custom handler because executing SQL and handling its response in PMA involves many custom checks and calls not only at response stage but also at request stage. For ex:- - checkSqlQuery() - bookmark handling - reloading navigation for certain queries - refreshing main panel for certain queries - triggering grid edit for results etc. see in sql.js near $("#sqlqueryform.ajax").live('submit', function (event) {
Or did you plan to duplicate above checks and calls into your midhandler?
Also, I don't understand why you need to call the generic response-handler of ajax.js? Remember that we don't need to populate AJAX.cache either.
Now middle handler runs well, but I can't send message ID to PMA_console._responseMidHandler, my questions are:
- Is the middle handler OK? Or is there another way to
custom my AJAX request(I need pages jump use global AJAX handlers)
Yes, you need to totally skip the generc/global AJAX handlers, for that you add a "class=ajax" to your form and write a custom handler.