2016-06-02 3 views
-1

Я видел много сообщений о внедрении плагина whitelist cordova, но после полной недели тестирования я все еще не заметил, в чем моя ошибка.Ajax call with cordova whitelist error

Этот Аякса вызов бросает эти предупреждения:

XHR { "readystate": 0, "статус": 0, "": его статуса "ошибка"}.

статус "Ошибка"

ошибка ""

$.ajax({ 
    url: 'http://www.example.com/my_file.php', 
    data: {type: 'test', code: '11'}, 
    method: "GET", 
    dataType: "json", 
    timeout: 5000, 
    success: function (data) { 
     alert('done '+JSON.stringify(data)); 
    }, 
    error: function (xhr, status, error) { 
      alert('xhr '+JSON.stringify(xhr)); 
      alert('status'+JSON.stringify(status)); 
      alert('error '+JSON.stringify(error)); 
    } 
}); 

Я обновил свой PhoneGap сборки приложение с новым Cordova Whitelist реализация добавив в мета:

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

это к config.xml:

<gap:plugin name="cordova-plugin-whitelist" source="npm"/> 
<allow-navigation href="*" /> 
<allow-intent href="*" /> 
<access origin="*" /> 

и это в JS до Ajax вызовов:

$.support.cors=true; 

Я использую все символы в данный момент для тестирования, я изменю позже. Это сервер PHP-файл я звоню:

<?php 

header("Access-Control-Allow-Origin: *"); 
header('Content-Type: application/json'); 

$data = json_encode(array($_GET)); 

echo $data; 

?> 

PhoneGap построить версия кли-5.2.0 Android 4.1.1 любая помощь будет оценена

+1

Оба ваших кода работают просто отлично. Убедитесь, что ваши URL-адреса верны, поскольку это может быть проблемой. Можете ли вы попробовать «alert (error);», чтобы увидеть, какая ошибка вы действительно получаете – Molda

+0

, то же самое, что и запросы, работают, если вызваны в браузере, поэтому он не может быть URL-адресом, и это должно быть что-то о белом списке кордонов. я редактирую сообщение, чтобы включить ошибку и уточнить вопрос. – Riccardo

ответ

0

Попробуйте это в вашем config.xml

<access origin="*"/> 
<access origin="tel:*" launch-external="yes"/> 
<allow-navigation href="*"/> 
<allow-navigation href="http://*/*"/> 
<allow-navigation href="https://*/*"/> 
<allow-navigation href="data:*"/> 
<allow-intent href="*"/> 
<access origin="*"/> 
+0

Я пытался, но все равно получал такую ​​же ошибку, вы написали дважды нарочно? – Riccardo

+0

Ах нет моей ошибки – Mark