我应该在下面的代码中进行哪些修改,以便以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>
答案 0 :(得分: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脚本。