2009-05-28 34 views
0

我有一堆執行得很好的Ajax請求,但最終在瀏覽器中出現語法錯誤。Ajax.request拋出語法錯誤,但返回正確的值

任何人都可以看到我的請求下面有什麼問題嗎?

function getName(refId) 
{ 
    var resp = ''; 
    new Ajax.Request('/servlet/GetName', 
    { 
     method:'post', 
     parameters: {'requestType':'ref', 
       'value':refId}, 
     onSuccess:function(transport) 
     { 
      setName((String(transport.responseText)).trim()); 
     } 
    }); 
} 

編輯:這似乎也只是第一次被調用時拋出的錯誤。如果我清除控制檯,我不會繼續得到錯誤。

+0

有什麼語法錯誤? – mkoryak 2009-05-28 16:17:01

+0

語法錯誤 http:// localhost:8080/servlet/ 第1行 – Jesse 2009-05-28 17:32:22

+0

您可以粘貼實際代碼塊而不是存根嗎?這可能有助於發現語法錯誤。我早些時候遇到過類似的情況,FF可以正常工作,但IE會拋出語法錯誤。 更常見的不是這是由於Ajax.Reqeuest()的參數後面放置了錯誤的/額外的逗號。 – 2009-05-29 02:43:21

回答

4

我已經在Firefox中使用xmlhttprequest來查詢非xml的語法錯誤。 Firefox嘗試將響應解析爲xml,並記錄錯誤,但始終處於工作狀態。

在我的情況下,我將它添加到服務器端的php:
header('Content-Type:text/plain');

有人舉報一個客戶端修復程序在這裏:
jQuery .getJSON Firefox 3 Syntax Error Undefined

0

根據W3Schools,窗口對象中沒有根屬性。也許如果你使用

new Ajax.Request(document.domain + '/servlet/GetName', ... 

它會工作得更好。

編輯,啊 - 我應該學會閱讀。它確實有效,但會引發語法錯誤。語法錯誤!=沒有實現的屬性...對不起!但是我會讓我的帖子留下來。 ;)

相關問題