ОБНОВЛЕНИЕ 3
var local = 'http://localhost:1163/CustomerService.svc/getcustomer?method=?';
var dev = 'http://yourserver.com/CustomerService.svc/GetCustomer?method=?';
$.getJSON(dev, function (customer) {
alert(customer.Address);
alert(customer.Name);
});
если я запускаю http://yourserver.com/CustomerService.svc/getcustomer?method=foo'
в удаленном домене, я получаю ошибка отказа в доступе И если я запускаю http://yourserver.com/CustomerService.svc/getcustomer?method=?'
, я получаю эту ошибку (см. Ниже), и у меня есть именно то, что есть на вашей странице примера , кажется, что "method = foo" "get access denied" и "method =?" выбросить эту ошибку: URI:
"http://yourserver.com/CustomerService.svc.svc/GetCustomer?method=jsonp1290197214042"
Update3
UPDATE2
Я тестировал два разных сценария:
1) отлично работает с localhost
$.getJSON('http://localhost:1163/service.svc/getcustomer?method=?', function (customer) {
alert(customer.Address);
alert(customer.Name);
});
2) не работает с междоменной областью
$.getJSON('http://yourserver.com/CustomerService.svc/getcustomer?method=?', function (customer) {
alert(customer.Address);
alert(customer.Name);
});
я получаю эту ошибку:
Сообщение: ожидается ';'
Строка 1
Char: 11
Код: 0
URI: http://yourserver.com/CustomerService.svc/GetCustomer?method=jsonp1290183992345
UPDATE2
Update1
когда я запускаю сервис в браузере
http://yourserver.com/CustomerService.svc/getcustomer
я получаю всплывающее окно с просьбой оштрафовать или сохранить файл, поэтому я сохраняю файл в браузере, открываю его в блокноте и вижу, что данные возвращают мне jsonp.
{"Address":"1 Example Way","Name":"Bob"}
где именно вы хотите, чтобы я поместил return false в кнопку?
на отладчике, которую я поставил только для перехода в код.
Update1
UPDATE:
ниже показано, как я звоню на мой междоменный сервис.
$(document).ready(function () {
$("#driver").click(function (event) {
$.getJSON('http://yourserver.com/CustomerService.svc/getcustomer?method=?', function (customer) {
debugger
alert(customer.Address);
alert(customer.Name);
});
});
});
Сведения об ошибке веб-страницы
Пользовательский агент: Mozilla / 4.0 (совместимый; MSIE 8.0; Windows NT 5.1; Trident / 4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729 ; InfoPath.2; MS-RTC LM 8; .NET4.0C; .NET4.0E)
Отметка времени: пт, 19 ноября 2010 14:56:22 UTC
Message: Expected ';'
Line: 1
Char: 11
Code: 0
URI: 'http://yourserver.com/CustomerService.svc/GetCustomer?method=JsonPCallBack
я получаю вышеуказанную ошибку:
Конец обновления
Я изучал и строил Web-сервисы JSONP с использованием WCF на fx3.5. Наконец-то я получил пример соединения с помощью этой статьи и статьи MSDN JSON with Padding (AJAX)
я запускаю службу на своем локальном
http://localhost:4058/WiringJsonImpl.svc
чтобы проверить это.
вместо стандартного экрана wsdl отображается сообщение «Публикация метаданных для этой службы в настоящее время отключена»
я вставляю адрес в URL
http://yourserver.com/LocationService.svc/GetLocation?method=jsonpCallback
и нажмите Enter, я вижу пустой экран с этим сообщением в браузере IE.
The webpage cannot be found
HTTP 400
в моем web.conig я вижу ошибку, но не прекращаю запуск приложения:
<bindings>
<customBinding>
<binding name="jsonpBinding">
<jsonpMessageEncoding/> //<<<error here
<httpTransport manualAddressing="true"/>
</binding>
</customBinding>
</bindings>