2009-10-22 24 views
1

我已經寫了一個支持ajax的網頁供我的Wii使用。但是,ajax似乎不適用於Wii的Opera瀏覽器。此頁面適用於IE,Chrome和FF,但不適用於Safari或Opera。 這裏是我的jQuery測試Ajax調用:Opera,Wii,Ajax,Jquery和asp.net

$.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沒有電話,所以瀏覽器ISN」 t甚至試圖做出ajax請求。
是否有任何解決方法可以在Wii上運行? 謝謝!

+1

你讓它聽起來像它不適用於歌劇/ Safari瀏覽器無論是...如果是這樣,它不是Wii的問題。你看到這個錯誤信息,還是你一無所獲? – Kip 2009-10-22 21:42:55

+0

如果您直接進入DefaultWebService.asmx/Hello,您可以發佈您獲得的輸出嗎? – Kip 2009-10-22 21:47:54

+0

錯誤消息不顯示。沒有發佈「DefaultWebService.asmx/Hello」。我無法瀏覽到Wii上的「DefaultWebService.asmx/Hello」。它只是給了我一個典型的asp.net黃色死亡屏幕,因爲web方法期望將請求格式化爲Wii上瀏覽器無法完成的特定方式(據我所知)。感謝您的期待。 – 2009-10-22 22:25:19

回答

0

您是否試過更改發佈的數據?這看起來與這裏發佈的問題類似(雖然明顯不相同):jQuery syntax error on POST in Opera

+0

我看到那篇文章,我懷疑它適用於此。在這種情況下,問題在於JavaScript對象是使用未加引號的對象鍵創建的。我試圖傳遞一個沒有鍵的空對象。 – 2009-10-23 02:49:28

0

不太熟悉ASP ..是否需要JSON編碼返回值?或者「[WebMethod]」照顧到了嗎?試試這個:

return "\"hello there\""; 
+0

[WebMethod]確實處理返回值的JSON編碼。 – 2009-10-22 22:16:28

2

一個月後我希望你找到了解決方案,但如果你沒有,我想幫忙。我寫了一個非常基本的測試,只是這樣的:

<?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> 

但它在歌劇版本我想它(包括可能對準一個Wii的一些早期的9.x版本的工作就好了 - 我m不知道最接近的桌面相當於什麼)

+0

(也在8.54 FWIW中測試) – hallvors 2009-12-06 19:28:36