2010-10-17 3 views
0

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

<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> 

ответ

1

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

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

+0

Я в конечном итоге разместить его на том же домене, который хорошо сейчас. Спасибо за вашу помощь. – Ned

0

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

$.ajax({ 
    error: function(XMLHttpRequest, textStatus, errorThrown) { 
    alert(errorThrown) 
    }, 
    //....... 
}) 
Смежные вопросы