2009-05-28 5 views
0

を返しますが、私は私のブラウザで構文エラーになってしまいます。Ajax.requestは、構文エラーがスローされますが、私はうまく実行Ajaxリクエストの束を持って、正しい値

下記のリクエストに間違いが見られることはありますか?

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

+0

構文エラー にhttp:// localhost:8080 /サーブレット/ ライン1 – Jesse

+0

あなたはあなたの実際のコードの代わりに、スタブのブロックを貼り付けることはできますか?これは、構文エラーの検出に役立ちます。私はFFがうまく動作するが、IEは構文エラーを投げかけた、同じような状況に直面しています。 これは、Ajax.Reqeuest()のパラメータの後に置かれた余分なカンマが原因であることがよくあります。 –

答えて

4

私は同様に非XMLを照会するFirefoxでのXMLHttpRequestを使用して構文エラーを得ています。 Firefoxは応答をxmlとして解析しようとし、エラーを記録しますが、とにかく動作し続けます。

私の場合、私はこれをサーバー側のPHPに追加しました:
header( 'Content-Type:text/plain');

誰かがここでクライアント側の修正を報告:
jQuery .getJSON Firefox 3 Syntax Error Undefined

+0

私は最終的にこれを修正して、ヘッダーのコンテンツタイプを設定しました!本当にありがとう。 私は私のサーブレットに次の行を追加: response.setContentType( "text/plainの"); – Jesse

0

W3Schoolsに応じて、ウィンドウオブジェクトには、ルートプロパティはありません。多分あなたが使用する場合

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

それはよりよく動作します。

編集、ああ - 私は読むことを学ぶ必要があります。それは動作しますが、構文エラーをスローします。構文エラー!=実装されていないプロパティ...ごめんなさい!しかし、私は私の投稿をとにかく留まらせます。 ;)

+0

これは明らかですが、window.rootは何も返さなかったので、暗黙的に 'http:// localhost:8080'をリクエストに追加していました。それをdocument.domainに変更すると、リクエストURLが変更され、もう動作しなくなりました。 URLをハードコーディングしても違いはありません。 – Jesse

関連する問題