0

我应该在以下代码中进行哪些修改,以便以 json 字符串的形式将多个值从表单发布到我的 Web 服务?

我试过这个 -

  <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 回答