0

AJAX 経由で JSON オブジェクトをサーブレットに POST しようとしています。ただし、オブジェクトはサーブレットでは null です。このコードの何が問題なのかわかりません。

ジャバスクリプト

function submitValues(event, val1, val2) 
{    
var xmlHttpObj = new XMLHttpRequest();                
            if(window.XMLHttpRequest) 
            {
                xmlHttpObj = new XMLHttpRequest();                    
             }
            else if(window.ActiveXObject)
            {
                xmlHttpObj = new ActiveXObject("Microsoft.XMLHttp");

            }


     var jsonObject =  submitTheValues(event, val1, val2);
       alert("json is:" +jsonObject);
     var json = JSON.stringify(jsonObject);
       alert("json after stringify:" +json);

        xmlHttpObj.open("POST", "../myapp/myservlet", true);
        xmlHttpObj.setRequestHeader("Content-type", "application/json");                    
        xmlHttpObj.send(json);

}  

サーブレット

String jsonObj = request.getParameter("json");
4

1 に答える 1

1

パラメータとしてデータを受け取りたい場合は、 として送信する必要がありますapplication/x-www-form-urlencode

xmlHttpObj.open("POST", "../myapp/myservlet", true);
xmlHttpObj.setRequestHeader("Content-type", "application/x-www-form-urlencode");                    
xmlHttpObj.send('json='+encodeURIComponent(json));
于 2013-03-12T18:33:36.857 に答える