Opera, Wii, Ajax, Jquery и asp.net

Я написал веб-страницу с поддержкой ajax, предназначенную для использования на моем Wii. Тем не менее, Ajax не работает в браузере Opera Wii. Эта страница работает в IE, Chrome и FF, но не в Safari или Opera. Вот мой тест jQuery ajax:

$.ajax({
    type: "POST",
    url: "DefaultWebService.asmx/Hello",
    data: "{}",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function(msg) { alert(msg.d); },
    error: function() { alert("error in DefaultWebService.asmx/Hello"); }
});

Вот мой тестовый метод веб-сервиса:

[WebMethod]
public string Hello()
{
    return "hello there";
}

В журналах моего веб-сервера нет вызовов DefaultWebService.asmx, поэтому браузер даже не пытается выполнить ajax-запрос.
Есть ли какие-либо обходные пути, чтобы заставить это работать на Wii? Спасибо!

3 ответа

Решение

Вы пытались изменить публикуемые данные? Это похоже (хотя, очевидно, не идентично) на проблему, опубликованную здесь: ошибка синтаксиса jQuery на POST в Opera

Надеюсь, что через месяц вы нашли решение, но если нет, я бы хотел помочь. Я написал довольно простой тест, просто так:

<?php
    if( $_SERVER['REQUEST_METHOD']=='POST' ){
        echo file_get_contents('php://input');
        exit;
    }
?>
    <script src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.js"></script>
    <script type="text/javascript">
    $.ajax({
    type: "POST",
    url: location.href,
    data: '{"test":"passed" }',
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function(msg) { alert(msg.test); },
    error: function() { alert("error while testing"); }
});
    </script>

но он работает очень хорошо в версиях Opera, в которых я пробовал (включая некоторые ранние версии 9.x, которые могут быть выровнены с Wii - хотя я не уверен, что самый близкий настольный эквивалент)

Не слишком знаком с ASP.. может быть, вам нужно JSON кодировать возвращаемое значение? Или делает[WebMethod]"позаботиться об этом? Попробуйте это:

return "\"hello there\"";
Другие вопросы по тегам