我需要从我的网站向我的网络服务器发送大量信息。这些信息包含来自多个用户的数据(名字,姓氏等)。
在我将这些信息与AJAX请求一起发送到网络服务器之前,我必须从表格中提取它们并以某种方式组织它们。
现在我正在考虑两种不同的可能性:
1:使用JavaScript / jQuery在XML文档中组织数据并将其发送到网络服务器或...
XML文档
<create>
<customer>
<first-name>foo</first-name>
<last-name>bar</last-name>
...
<customer>
</create>
2:将数据存储在一个字符串中,稍后使用PHP在Web服务器上组织它们。
的字符串:
"first-name='foo';last-name='bar'"
我已经尝试过这个来创建一个XML文档......
var xmlDocument = $.parseXML('<create/>');
var customer = xmlDocument.createElement('customer');
xmlDocument.documentElement.appendChild(customer);
var firstName = xmlDocument.createElement('first-name');
xmlDocument.documentElement.appendChild(firstName);
......但事实并非如此。我使用xmlDocument.find('first-name')
来检查它是否正确构建但是失败了。也许我正在访问错误的XML文档。
我也尝试使用jQuery.parseXML();,但它也没有用。
那么,在JavaScript / jQuery中创建/访问XML文档,创建/删除/编辑节点和文本节点以及设置/获取属性的正确方法是什么。
你能给我一个建议我提到的机会吗?也许甚至有一个我还没有考虑过。如果您可以添加一些示例代码,我将不胜感激。
答案 0 :(得分:2)
您应该执行类似
的操作var xmlDocument = $('<create/>');
var customer = $('<customer/>');
xmlDocument.append(customer);
var firstName = $('<first-name/>').text('john');
xmlDocument.append(firstName);
对应的xml:
<create>
<customer></customer>
<first-name>john</first-name>
</create>
找到元素xmlDocument.find('first-name').text()
这正是你创建html元素的方法(在所有html都是XML之后)
如果你需要用你可以做的属性创建元素
$('<name/>', { first: "john", second: "doe"});
//this creates <name first="jhon" second="doe"></name>
答案 1 :(得分:0)
为什么不能使用服务器端脚本创建字符串(xml或其他),比如PHP?这样就容易多了。
但是如果你需要使用jquery / javascript,我建议你采用JSON方法。
看看这里:
你可以尝试一下吗?