Почему этот вызов jQuery $ .ajax () запускает пустой запрос в Chrome и Firefox? - PullRequest
0 голосов
/ 15 марта 2010

Я пытаюсь вызвать службу WCF RESTful из jQuery. Я использую JSON для кодирования запроса и ответа.

Следующий код работает правильно в IE8:

url = 'http://ipv4.fiddler:5683/WeatherWCF/NewBinding/MyService/GetValueFloat';

$.ajax({
       url: url,
       data: '{"alias": "Udetemperatur"}',
       type: "POST",
       contentType: "application/json; charset=utf-8",
       dataType: "text",  // not "json" we'll parse
       success:
               function(res) {
                   alert('Received response: ' + res);
                   }
   });

Однако в Firefox и Chrome res содержит пустую строку. После использования Fiddler для мониторинга запроса, похоже, что jQuery отправляет пустой запрос на сервер, как показано в этом снимке экрана: http://imgur.com/EJgwS.png
Это успешный запрос: http://imgur.com/S77BA.png

Что я делаю не так?

С уважением,

Martin

Ответы [ 3 ]

0 голосов
/ 15 марта 2010

Сначала проверьте ответ Дарина Димитрова. Затем рассмотрите возможность использования dataType: "jsonp" для выполнения междоменных вызовов, которые возвращают данные json.

Обратитесь к документации jQuery.ajax для получения дополнительной информации

0 голосов
/ 15 марта 2010

Попробуйте изменить имя переменной Url ..

либо

myurl = 'http://ipv4.fiddler:5683/WeatherWCF/NewBinding/MyService/GetValueFloat';

$.ajax({
       url: myurl ,

или поставить кавычки вокруг имени ключа ..

url = 'http://ipv4.fiddler:5683/WeatherWCF/NewBinding/MyService/GetValueFloat';

$.ajax({
       'url': url,
0 голосов
/ 15 марта 2010

http://ipv4.fiddler:5683. Из-за политик безопасности междоменные запросы ajax запрещены. В FireFox используйте FireBug , чтобы точно узнать, что отправлено на сервер и каков ответ.

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