2014-11-04 5 views
0

Я создал jsonp ajax-вызов для получения данных через кросс-домен. Теперь дело в том, что я успешно обработал его для отправки данных через веб-сервер.JSONP - Обратный звонок не был вызван

Но он не получает данные во время вызова вызова. Когда я смотрю в отладчике, я вижу, что вкладка сети получает файл и внутри него есть данные. Но я все еще получаю сообщение об ошибке.

URL-адрес получает параметр с помощью ключа обратного вызова jquery. Мои веб-службы используют этот ключ и добавляют его снова в заголовок ответа. (что я также вижу в отладчике). Я также получаю код состояния 200 на вкладке сети, что данные получены ...

Вопрос в том, почему вызов ajax не перескакивает в функцию успеха, но показывает мне каждый раз ошибку, что обратный вызов isn - спросил он.

Что делать неправильно?

код выглядит следующим образом:

$.ajax({ 
     url: getServicePath, 
     dataType: 'jsonp', 
     username: "abc", 
     password: "123", 
     contentType: "application/json", 
     success: function(results) { 
       alert(results); 
     }, 
     error: function(XMLHttpRequest, textStatus, errorThrown) { 
       alert("Status: " + textStatus); alert("Error: " + errorThrown); 
     } 

Спасибо за вашу помощь !! :)

+0

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

+0

Но я устанавливаю исходный обратный вызов в заголовке ответа из удаленного ресурса. например: Ответные заголовки: обратный вызов: jQuery171011685512703843415_1415089316044 – abc

ответ

0

Я решил проблему.

Веб-сервис - это веб-сервис SAP ABAP. Проблема заключалась в том, что я не включил следующую строку кода для правильной поддержки jsonp.

СЦЕПИТЬ _callback '(' _json_string ')' НА _json_string.

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