Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将表单元素转换为json并将其发布到服务器,其中包括一些作为一组参数的表单元素_Javascript_Jquery_Ajax_Json_Json Rpc - Fatal编程技术网

Javascript 将表单元素转换为json并将其发布到服务器,其中包括一些作为一组参数的表单元素

Javascript 将表单元素转换为json并将其发布到服务器,其中包括一些作为一组参数的表单元素,javascript,jquery,ajax,json,json-rpc,Javascript,Jquery,Ajax,Json,Json Rpc,我有这张表格 <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

我有这张表格

<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()" />

在服务器端,我希望得到它,并在Perl中的RPC函数中使用它,我建议您使用jquery ajax post方法。在服务器端,使用通常的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"}';

我建议您使用jqueryajaxpost方法。在服务器端,使用通常的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

没有自动生成插件将表单数据提取到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
尝试使用ajax提交表单数据。。。 如果您仍然没有获得所需的输出,请详细说明您的问题

尝试使用ajax提交表单数据。。。
如果您仍然没有获得所需的输出,请详细说明您的问题。

Lilapara这正是我想要的超级酷!!json字符串按我的要求发送,格式良好!!谢谢拉帕拉这正是我想要的超级酷!!json字符串按我的要求发送,格式良好!!感谢使用JavaScript的内置数组和对象类更好地生成JSON。有时手动字符串会产生问题。使用JavaScript的内置数组和对象类生成JSON更好。有时手动字符串会产生问题。