Использование JQuery для выполнения междоменных вызовов Ajax - PullRequest
0 голосов
/ 07 апреля 2011

Приведенный ниже код не работает, когда мой asmx webservice находится в другом домене.Есть ли что-то, чего мне не хватает?

 function CallGreet() {
            $.ajax({
                type: "POST",
                url: "http://test.me/TestWebService.asmx/HelloWorld",
                data: "{}",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: OnSuccess,
                error: OnError
            });
        }

Спасибо ...

Ответы [ 4 ]

2 голосов
/ 07 апреля 2011

Вам нужно знать о JSONP

Здесь вы найдете более подробную информацию: Как вызвать внешний веб-сервис с помощью jquery "jsonp"?

Также обратите внимание, что результат jsonp jquery будет таким же, как этот ответ @Craig White: Использование JQuery для выполнения междоменных вызовов Ajax

1 голос
/ 07 апреля 2011

Я предпочитаю включать файл javsacript, сгенерированный из другого домена, который может дать мне информацию.

<script type="text/javascript" src="http://otherdomain.com/data.php"></script>

вы можете динамически добавить скрипт, подобный этому:

    var s = document.createElement('script');
    s.type = 'text/javascript';
    s.async = true;
    s.src = 'http://otherdomain.com/data.php?&timestamp=' + new Date().getTime(); //Added to deter caching
    (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(s);
0 голосов
/ 07 апреля 2011

Ваша проблема - все запросы браузера блокируют межсайтовые запросы.Вам необходимо, чтобы страница находилась на том же сервере, что и сервер, или настроить свой сервер для разрешения межсайтовых запросов.Взгляните на http://www.easywms.com/easywms/?q=en/how-send-cross-site-request-ajax

0 голосов
/ 07 апреля 2011

Браузер не позволяет JavaScript выполнять вызовы ajax в другой домен.

Что вы можете сделать, так это создать локальный файл asp в своем домене, который считывает данные в другом домене и вызывает его.

...