Ajax-запрос в приложении Cordova - PullRequest
0 голосов
/ 02 июня 2018

Я использую cordova. Я хочу использовать запрос $ .ajax jquery в своем приложении. Это мой метатег «Content-Security-Policy»:

<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 *; connect-src 'self' http://localhost">

У меня есть ссылка в моемapp:

<div data-role="page" id="login_page" data-theme="a" >
            <div data-role="main" class="ui-content">
                        <button data-role="button" id="get_web_data" data->icon="lock" data-transition="fade" >Get Web data</button>
            </div>
        </div> <script type="text/javascript" src="js/jquery_2.1.1.js"></script>
        <script type="text/javascript" src="rtl-jquery-mobile-master/js/rtl.jquery.mobile-1.4.0.js"></script>

А это мой код jquery:

 $('#get_web_data').on('tap',function(){
        $.ajax({
            url:'http://localhost/test.php',
            type:'GET',
            data:{'user_name':'amir','password':'123'},
            dataType:'json',
            success:function(data){
                alert(data);
            },
            error:function(error){alert('Error');}
        }) ;
     });

После нажатия на ссылку я вижу эту ошибку:

index.html:1 Не удалось загрузить http://localhost/test.php?user_name=amir&password=123: Нет заголовка «Access-Control-Allow-Origin» на запрошенном ресурсе.Origin 'http://localhost:8000', следовательно, не разрешен доступ.

Где моя проблема?

Ответы [ 2 ]

0 голосов
/ 03 июня 2018

Я изменил файл script.js, и теперь все работает.

$('#get_web_data').on('tap',function(){
        $.ajax({
            url:'http://localhost/test.php',
            type:'GET',
            data:{'user_name':'amir','password':'123'},
            dataType:'json',
            timeout: 5000,
             crossDomain: true,
              error: function (jqXHR, textStatus, errorThrown) {
                alert('new textStatus=' + textStatus + ' errorThrown=' + errorThrown);
            },
            success: function (response) {alert(response);
    }
        }) ;
     });
0 голосов
/ 02 июня 2018

Добавьте это в первую строку файла PHP.header('Access-control-allow-origin: *')

Проверьте CORS для более подробной информации.По сути, запрос не является доверенным сервером и поэтому отклоняет его.Установив CORS, вы разрешаете все запросы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...