嗨,我正在通过Cordova(5.1.1)/ Phonegap构建iOS应用程序,但有一个我无法解决的问题。
一个基本的Ajax电话抛出一个问题,SecurityError: DOM Exception 18我尝试了所有有关白名单的技巧,但现在我迷路了。有谁可以帮助您?谢谢。
Ajax
SecurityError: DOM Exception 18
准备好设备后,我会执行以下操作:
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是:http : //shopplo.com/api/posts/radius/37.11032230061141x73.11032230061141x-20.572796183027627x42.36447502674581
我得到:
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
检查您的元标记。默认情况下,它使用:
<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 *">
使用下面的代码启用所有请求
<!-- 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'">