将表单元素转换为json并将其POST到服务器,其中包括一些作为一组参数
Convert form elements to json and POST them to a server including some of them as a group of params
我有这个表单
<form name="pass_form" id="form" >
Username: <input type="text" name="username" id="username" > </br>
Current password: <input type="password" name="currentpass" id="currentpass"> </br>
New password: <input type="password" name="newpass" id="newpass"> </br>
New password confirmation: <input type="password" name="newpassconf" id="newpassconf"> </br>
<input type="button" value="Update" onclick="myCall()" />
我想把上面的表单提交成json字符串如下所示。我已经处理了验证,并一直试图使json字符串无效
{"jsonrpc":"2.0","method":"changepass","params":["username","currentpass","newpass"],
"id":"1"}
在服务器端,我想得到它这样,并使用它在我的RPC函数在Perl
var username = "username";
var currentpass = "currentpass";
var newpass = "newpass";
var UserInfo = new Array();
UserInfo.push(username);
UserInfo.push(currentpass);
UserInfo.push(newpass);
var data = new Object();
data["jsonrpc"] = "2.0";
data["method"] = "changepass";
data["id"] = "1";
data["params"] = UserInfo;
console.log(JSON.stringify(data));
尝试在ajax中提交表单数据…如果你仍然没有得到你想要的输出,详细说明你的问题。
建议大家使用jquery ajax post方法。在服务器端使用通常的后捕获。祝你好运
$.post("url",{
"method":"changepass",
"id":"1",
username: $("#username").val(),
currentpass: $("#currentpass").val(),
newpass: $("#newpass").val()
},
function(data){
//do here after callback
}, "json");
或使用jquery生成json:
var jsonString = '{"jsonrpc":"2.0",
"method":"changepass",
"params": [
"'+$("#username").val()+'",
"'+$("#currentpass").val()+'",
"'+$("#newpass").val()+'"
],
"id":"1"}';
没有自动生成插件来将表单数据提取为JSON。唯一的方法是从适当的控件中手动选择数据,并形成您想要发布到服务器的自定义对象。
你可以给post对象添加任意数量的额外成员。
这与@jakentus所描述的相似。
var _datatoPost = {
method:'changepass',
id:1,
username:$("#username").val(),
currentpass: $("#currentpass").val(),
newpass: $("#newpass").val()
};
//now use JSON.js to convert it to JSON
var _jsonPost = $.toJSON(_datatoPost); //using Json plugin
//now send it via ajax
相关文章:
- fluxxor向一个flux实例添加一组以上的操作
- 我们怎样才能将内含子J用于一组特定的元素
- 从node.js向CasperJS传递参数数组
- 使用linq.js按当前日期订购一组momentjs日期
- 正则表达式,从一组关键字中获取奇数
- 创建一组元素JointJS
- 如何在javascript中获取一组复选框值
- 如何从参数数组中调用回调
- 一组(共组..)
- 使用JS将页面中的每个字母设置为随机颜色.为什么在页面的每个打开标记之前总是有一组额外的span标记
- 在一组复选框中,一次只允许选择一个
- 为什么在fabricjs中可选择的不适用于一组圆
- 如何在不刷新页面的情况下每次单击一组选项卡时刷新视图内容窗格
- 是否可以省略一组中间的 Javascript 函数参数
- Array.from(arguments)是创建参数数组的一种可接受的方法
- ReactJS组件PropTypes——用一组参数指定一个函数类型
- 使用传递给函数的参数动态地从一组数组中检索值
- 如何使用函数重置一组标志(用作参数的标志除外)的值
- 将已定义的函数赋值给具有一组参数的变量
- 将表单元素转换为json并将其POST到服务器,其中包括一些作为一组参数