2014-01-21 5 views
2

У меня есть вызов AJAX для веб-службы из внешнего домена, и я пытаюсь управлять ответом XML, вызов AJAX работает, потому что цель заключается в регистрации на платформе Adobe Connect и ее работает. Но он показывает на консоли браузера, как следующее сообщение об ошибке:Запрос AJAX JQuery с ответом XML

SyntaxError: syntax error 
<?xml version="1.0" encoding="utf-8"?> 

Вот код вызова AJAX:

$.ajax({ 
type : "GET", 
    url : URL, 
    dataType : "jsonp", 
    success : function(service_data) { 
    console.log("OK"); 
    console.log(service_data); 
    }, 
    error : function(msg) { 
    console.log("ERROR"); 
    console.log(JSON.stringify(msg)); 
    } 
}); 

Благодарит миллион.

+1

Можете прояснить свой вопрос ?, Я имею в виду, что ваш звонок работает, но с ошибками? –

+2

Как выглядит оригинальный 'XML'? – JNF

+2

Точно, он работает, потому что цель заключается в том, чтобы войти в систему и что работает, но он выдает ошибку, которую я показываю выше. – AlvaroCasvi

ответ

3

Ошибка, которую вы получаете, потому что вы говорите, что ожидаете jsonp и предоставляется xml.

$.ajax({ 
    type : "GET", 
    url : URL, 
    dataType : "xml", 
    success : function(service_data) { 
     console.log("OK"); 
     console.log(service_data); 
    }, 
    error : function(msg) { 
     console.log("ERROR"); 
     console.log(JSON.stringify(msg)); 
    } 
}); 

Я изменил бы DATATYPE

+2

Спасибо Lt, но ваш ответ не работает. На самом деле ошибка XML была решена, но вызов AJAX не работает, ситуация ухудшается. – AlvaroCasvi

+0

Предположительно, в этом случае Adobe Connect не сообщает браузеру пользователя, что ваш сайт имеет разрешение на получение данных из Adobe Connect с их (учетными данными пользователя). – Quentin

1

Вы определили тип данных как «JSONP», но вы получаете XML в качестве результата. Попробуйте изменить тип данных на «xml». Более подробную информацию можно найти на сайте http://api.jquery.com/jquery.ajax/, но соответствующие биты:

"xml": Returns a XML document that can be processed via jQuery.

.

"jsonp": Loads in a JSON block using JSONP. Adds an extra "?callback=?" to the end of your URL to specify the callback. Disables caching by appending a query string parameter, "_=[TIMESTAMP]", to the URL unless the cache option is set to true.

3

Colleage рассказал мне о двух решений: с-плюсом

1 - CORS

2 - Прокси-скрипт.

Я скажу вам, если это сработает, я попробую fisrt.

Смежные вопросы