spi*_*tus 8 html xml forms jquery
我必须将我的HTML表单中的数据以xml格式发布到服务器,例如:
<some_parameters>
<firstname>Homer</firstname>
<lastname>Simpson</lastname>
<street>74 Evergreen Tr.</street>
</some_parameters>
Run Code Online (Sandbox Code Playgroud)
我所知道的是它涉及在不同域上运行的CRM应用程序之一.现在我不确定最好的方法是什么.
我想在用户提交表单时只是在表单中包装字段的值.因此,如果用户在"firstname"字段中键入"Homer"并单击"提交",我的JS会将字段的值更改为<firstname>Homer</firstname>然后发布数据.
如果它有助于我在客户端使用jQuery.我认为必须有更好的方法,因为我的解决方案会破坏JS禁用并且看起来有点狡猾,所以如果你能指出我正确的方向,那将是非常棒的.
在没有javascript或浏览器插件的情况下发布XML是不可能的.发布html表单的两种可能格式是application/x-www-form-urlencoded和multipart/form-data.
小智 6
我只是让它在chrome中工作,关键是在文本区域名称中有空格:
<html>
<body>
<form action="http://target_webservice" method="post">
<textarea rows="20" cols="100" name=" ">
<?xml version="1.0"?><requestElements><blah></blah></requestElements>
</textarea>
<input type="submit" value="Submit">
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我能想到的最好的方法是拦截表单提交操作,并将表单详细信息转换为 XML 格式,然后将其提交到服务器。有很多方法可以做到这一点,但最简单的方法是通过 jQuery 这样的框架来实现解决方案:
可以在http://www.docunext.com/...data-to-xml-with-jquery在线找到这方面的示例,它利用JSON 到 XML 插件:
$("#myform").submit(function(){
var formjson = $('#myform').serializeArray();
var formxml = json2xml(formjson);
$.post("/collect.php", { 'data': formxml }, function(data){
// callback logic
});
return false;
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
50299 次 |
| 最近记录: |