我写了一个支持ajax的网页,打算在我的Wii上使用。然而,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上运行呢?谢谢!
发布于 2009-10-23 07:11:28
您是否尝试过更改正在发布的数据?这看起来与这里发布的问题相似(尽管明显不完全相同):jQuery syntax error on POST in Opera
发布于 2009-12-07 02:15:41
一个月后,我希望你已经找到了解决方案,但如果你还没有找到解决方案,我愿意帮助你。我写了一个非常基本的测试,就是这样:
<?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版本一致-但我不确定最接近的桌面版本是什么)
发布于 2009-10-23 05:46:02
不太熟悉ASP..是否需要对返回值进行JSON编码?或者是"[WebMethod]“来解决这个问题?试试这个:
return "\"hello there\"";https://stackoverflow.com/questions/1610121
复制相似问题