Вызов службы WCF с поддержкой JSON с помощью jQuery возвращает ноль - PullRequest
0 голосов
/ 17 октября 2010

На моей веб-странице есть следующий скрипт для вызова службы WCF с поддержкой JSON, которую я создал и размещаю на своем веб-сервере. Тем не менее, предупреждение отображает «ноль». Когда я указываю на URL в браузере, он возвращает очень простой JSON: {"city":"Ann Arbor"}. Кроме того, когда я запускаю страницу с приведенным ниже кодом при запущенном Fiddler, я вижу, что служба активирована и JSON возвращается. Но все равно функция успеха ниже возвращает ноль. Кто-нибудь знает, что я делаю не так? Благодарю. -Ned

<script type="text/javascript">
    $.ajax({
        type: "GET",
        url: "http://192.168.192.17:8080/Service.svc/class/",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (data) {
            alert(data);
        }
    });
</script>

Ответы [ 2 ]

1 голос
/ 17 октября 2010

Я подозреваю, что проблема возникает из-за того, что вы пытаетесь вызвать веб-сервис с использованием AJAX, который не размещен в том же домене, что и вызывающий скрипт, и, следовательно, вы нарушаете такую ​​же политику происхождения . Если вы хотите иметь возможность вызывать http://192.168.192.17:8080/Service.svc с помощью AJAX, вызывающий скрипт должен быть размещен также на http://192.168.192.17:8080.

В качестве возможного обходного пути вы можете использовать серверный сценарий, выполняющий роль моста, размещенного в том же домене, что и клиентский сценарий, или использовать JSONP , если у вас есть контроль над веб-службой.

0 голосов
/ 18 октября 2010

Вы можете определить функцию ошибки, чтобы увидеть, в чем проблема:

$.ajax({
  error: function(XMLHttpRequest, textStatus, errorThrown) {
    alert(errorThrown)
  },
  //.......
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...