我应该在以下代码中进行哪些修改,以便以 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>
最佳答案
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脚本。
关于javascript - 使用 ajax 将 JSON 发送到 Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12659611/