2016-07-06 6 views
0

私は私のmypage.jspページでmypage.jspJSP - アクセスjQueryのAjaxデータ

jQuery.ajax({ 
     type: "POST", 
     url: "../mypage.jsp", 
     data: { 
      param1: 'aaa', 
      param2: 'bbb' 
     }, 
     contentType: "text/html; charset=utf-8", 
     dataType: "text", 
     success: function (data) { 
      alert("Data Loaded: " + data);  
     } 
    }); 

に次Ajaxリクエストを送信するよ、私は以下のようにparam1にアクセスしようとしています。

String result = request.getParameter("param1"); 

しかしresultnullになります。

しかし、以下のように私のAjaxリクエストを変更すると、結果として'aaa'が得られます(これが望ましい出力です)。

jQuery.ajax({ 
     type: "POST", 
     url: "../mypage.jsp?param1=aaa&param2=bbb", 
     data: {}, 
     contentType: "text/html; charset=utf-8", 
     dataType: "text", 
     success: function (data) { 
      alert("Data Loaded: " + data);  
     } 
    }); 

私はAjaxリクエストで送信されたデータにアクセスする正しい方法を使用していますか?

私は暗黙の要求(てHTTPServletRequest)オブジェクト上でいくつかのドキュメントを参照し、私はAjaxリクエストのURLでそれを送信せずにparam1にアクセスするにはどうすればよい'request.getParameter()'

以外のデータにアクセスするための任意の他の適切な方法を考えることができませんでしたか?

注:私は非常によく似たようなSOの質問 'How to receive data sent by Ajax in a .jsp file'に遭遇しましたが、私のように 'データ'フィールドを使用していないので、この質問をすることを考えました。

+0

パラメータ名 '' param1 ':' aaa 'で試してみるか、オブジェクトのデータを保持するjsオブジェクトを作成し、そのオブジェクトの 'JSON.string(obj)'を呼び出してください。 – ghg565

+0

私は '$ .ajax()'にも変更します。 – ghg565

答えて

0

これは私と一緒に働いていますが、これと質問の要求が同等かどうかはわかりませんが。ここdataが対象ですので、私は、dataを読むとき、onSuccess機能(data.responseText.trim())を変更する必要がありました

new Ajax.Request('../mypage.jsp', { 
    method: 'POST', 
    asynchronous: false, 
    parameters: { 
     param1: 'aaa', 
     param2: 'bbb' 
    }, 
    onSuccess: function (data) { 
     alert("Data Loaded: " + data.responseText.trim()); 
    } 
}) 

注:ただし、この方法は、私は正常なパラメータを読み取ることができました。

関連する問題