Opera、Wii、Ajax、Jquery、asp.net
質問
Wiiでの使用を目的としたajax対応のWebページを作成しました。ただし、AjaxはWiiのOperaブラウザーでは動作しないようです。このページは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"); }
});
テストWebサービスメソッドは次のとおりです。
[WebMethod]
public string Hello()
{
return "hello there";
}
私のWebサーバーログにはDefaultWebService.asmxへの呼び出しがないため、ブラウザーはajaxリクエストを実行しようとさえしていません。
Wiiでこれを機能させるための回避策はありますか?
ありがとう!
解決
投稿するデータを変更しようとしましたか?これは、ここに投稿された問題と似ています(明らかに同一ではありませんが): jQuery構文エラーOperaのPOSTで
他のヒント
1か月後、解決策が見つかったことを願っていますが、もし解決していない場合は手伝いたいです。これだけでかなり基本的なテストを作成しました:
<?php
if( 1か月後、解決策が見つかったことを願っていますが、もし解決していない場合は手伝いたいです。これだけでかなり基本的なテストを作成しました:
<*>
しかし、私が試したOperaバージョンではうまく動作します(Wiiバージョンに対応しているかもしれない初期の9.xバージョンを含む-最も近いデスクトップ版は何なのかわかりません)
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バージョンではうまく動作します(Wiiバージョンに対応しているかもしれない初期の9.xバージョンを含む-最も近いデスクトップ版は何なのかわかりません)
ASPに精通していません。戻り値をJSONエンコードする必要があるかもしれません。または、&quot; [WebMethod]
&quot;それの世話をしますか?これを試してください:
return "\"hello there\"";