Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Ajax call on Cordova ios SecurityError: DOM Exception 18

Hi I'm building an iOS application via Cordova(5.1.1)/Phonegap and I have a problem I can´t solve.

A basic Ajax call throws a SecurityError: DOM Exception 18 I tried all the tricks regarding whitelisting and now I'm lost.. Anyone who can help? Thanks.

Here is what I do after device is ready:

    var getUrl = 'http://shopplo.com/api/posts/radius/'+app.lat_min+'x'+app.lat_max+'x'+app.lng_min+'x'+app.lng_max+'';

    //console.log(getUrl);

    var getPosts = $.ajax({
          method: 'GET',
          url: getUrl,
          dataType: 'JSON'
        })
        .done(function(e) {
            console.log( e );


        })
        .fail(function(e) {
            //console.log( "error");

            $.each(e, function(key, element) {
                console.log('key: ' + key + '\n' + 'value: ' + element);
            });

        })
        .always(function() {
            console.log( "complete" );
        });

getUrl is: http://shopplo.com/api/posts/radius/37.11032230061141x73.11032230061141x-20.572796183027627x42.36447502674581

And I get:

2015-07-20 01:12:55.981 ShopploLight[779:568632] key: responseJSON :: value: undefined
2015-07-20 01:12:55.983 ShopploLight[779:568632] key: status :: value: 0
2015-07-20 01:12:55.983 ShopploLight[779:568632] key: statusText :: value: Error: SecurityError: DOM Exception 18
2015-07-20 01:12:55.984 ShopploLight[779:568632] complete
like image 338
Jonny Højdam Avatar asked Jul 19 '15 23:07

Jonny Højdam


2 Answers

Check your meta tag. By default, it uses:

<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *">

use the code below to enable all requests

<!-- Enable all requests, inline styles, and eval() -->
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src: 'self' 'unsafe-inline' 'unsafe-eval'">
like image 120
Clint Angelo 'Tec' Mercado Avatar answered Sep 23 '22 02:09

Clint Angelo 'Tec' Mercado


The above answer errors due to the syntax being incorrect.

Below is correct:

<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval';">
like image 45
Nicolay Hekkens Avatar answered Sep 27 '22 02:09

Nicolay Hekkens