0

複数の値をフォームから Web サービスに json 文字列の形式で投稿するには、次のコードでどのような変更を行う必要がありますか?

私はこれを試しました-

  <script>

    function ajaxRequest(){
        var  xmlhttp = new XMLHttpRequest();
             xmlhttp.onreadystatechange = function() {
              if(xmlhttp.readyState == 4){
                 alert(xmlhttp.readyState);
                }
                };
                var namevalue=encodeURIComponent(document.getElementById("name").value);
              //  var fname=encodeURIComponent(document.getElementById("lastname"));
                var parameters="name="+namevalue
                var url="http://localhost:41191/test/resources/postservice";
            xmlhttp.open("POST",url,true);
            xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded")
            xmlhttp.send(parameters)

   }
</script>

また使用-

    function ajaxRequest(){
        var  xmlhttp = new XMLHttpRequest();
             xmlhttp.onreadystatechange = function() {
              if(xmlhttp.readyState == 4){
                 alert(xmlhttp.readyState);
                }
                };

var parameters = { "name": $('#name').val(), "firstname": $('#fname').val() };
                var url = 'http://localhost:41191/test/resources/storeincompleteform';
                xmlhttp.open('POST', url, true);
                xmlhttp.setRequestHeader('Content-type', 'application/json')
                xmlhttp.send(JSON.stringify(parameters)); }
 </script>
4

1 に答える 1

3
var parameters = { param1: 'value1', param2: 'value2' };
var url = 'http://localhost:41191/test/resources/postservice';
xmlhttp.open('POST', url, true);
xmlhttp.setRequestHeader('Content-type', 'application/json')
xmlhttp.send(JSON.stringify(parameters));

これにより、POST リクエスト本文で次のデータが送信されます。

{"name":"value1","name2":"value2"}

このJSON.stringifyメソッドは最新のブラウザーにネイティブに組み込まれていますが、一部のレガシー ブラウザーをサポートする場合は、json2.jsスクリプトを参照できます。

于 2012-09-30T07:51:44.130 に答える