Success! Looks like we've fixed this one. According to our records the fix was applied for TOUCH-1643 in a recent build.
  1. #1
    Sencha User
    Join Date
    Jan 2012
    Posts
    20
    Vote Rating
    0
    ASraniel is on a distinguished road

      0  

    Default [PR4] JSONP throws uncaugth exception when url is wrong

    [PR4] JSONP throws uncaugth exception when url is wrong


    This worked in PR3. When i load a store that uses a JSONP proxy that points to a non working url, this exception is thrown:

    Uncaught TypeError: Cannot call method 'getJsonP' of undefined

    the problem is now that i can't intercept this. Before, the load event of the store was triggered, that then told me that is was not successful. I tried to add a listener to the proxy exception event, but that didn't change anything. Here is the backtrace (using sencha-touch-all-debug.js).

    Uncaught TypeError: Cannot call method 'getJsonP' of undefined sencha-touch-all-debug.js:23888
    Ext.define.setException sencha-touch-all-debug.js:23888
    Ext.define.processResponse sencha-touch-all-debug.js:23608
    (anonymous function) sencha-touch-all-debug.js:23882
    Ext.apply.callback sencha-touch-all-debug.js:5957
    Ext.define.handleResponse sencha-touch-all-debug.js:9852
    Ext.define.handleError sencha-touch-all-debug.js:9818
    (anonymous function) sencha-touch-all-debug.js:1964

  2. #2
    Sencha User Jamie Avins's Avatar
    Join Date
    Mar 2007
    Location
    Redwood City, California
    Posts
    3,661
    Vote Rating
    18
    Jamie Avins is a jewel in the rough Jamie Avins is a jewel in the rough Jamie Avins is a jewel in the rough

      0  

    Default


    Thank you for the report.

    Sencha Inc

    Jamie Avins

    @jamieavins

  3. #3
    Sencha User
    Join Date
    Jan 2012
    Posts
    20
    Vote Rating
    0
    ASraniel is on a distinguished road

      0  

    Default


    Thank you for your fast answer. Do you need a simple testcase to reproduce? This bug is very important for my application, so anything i can do to help speed up the bugfix i would be happy to do.

  4. #4
    Sencha User Jamie Avins's Avatar
    Join Date
    Mar 2007
    Location
    Redwood City, California
    Posts
    3,661
    Vote Rating
    18
    Jamie Avins is a jewel in the rough Jamie Avins is a jewel in the rough Jamie Avins is a jewel in the rough

      0  

    Default


    That always helps us pin it down and be sure it's fixed.

    Sencha Inc

    Jamie Avins

    @jamieavins

  5. #5
    Sencha User
    Join Date
    Mar 2007
    Location
    Haarlem, Netherlands
    Posts
    1,243
    Vote Rating
    10
    TommyMaintz will become famous soon enough TommyMaintz will become famous soon enough

      0  

    Default


    This has been fixed and will be part of the next release. Try this override for now:

    Code:
    Ext.override('Ext.data.proxy.JsonP', {
        setException: function(operation, response) {
            operation.setException(operation.getRequest().getJsonP().errorType);
        }
    });

  6. #6
    Sencha User
    Join Date
    Jan 2012
    Posts
    20
    Vote Rating
    0
    ASraniel is on a distinguished road

      0  

    Default


    Special thanks for this fix including the workaround Really increased the trust i have in sencha touch good job!

  7. #7
    Sencha User
    Join Date
    Jan 2012
    Posts
    20
    Vote Rating
    0
    ASraniel is on a distinguished road

      0  

    Default


    Ext.override seems to be deprecated and Ext.define should be used. I'm struggling with how that exactly works, currently i came up with this (not working):

    Code:
    Ext.define('Ext.data.proxy.JsonP2', {	override: 'Ext.data.proxy.JsonP',
        setException: function(operation, response) {
            operation.setException(operation.getRequest().getJsonP().errorType);
        }
    });
    
    
    Ext.define('Ext.data.proxy.JsonP', {
        requires: [
            'Ext.data.proxy.JsonP2'
        ]
    });
    I will post here if i manage to find a solution.

  8. #8
    Sencha User
    Join Date
    Jan 2012
    Posts
    20
    Vote Rating
    0
    ASraniel is on a distinguished road

      0  

    Default


    In the end i just changed the sencha touch javascript file, was quicker than figuring out how to override the function of an existing class.

Thread Participants: 2