从xml读取javascript警报值
我有一个JavaScript函数代码,希望在其中发出警报从xml读取javascript警报值,javascript,xml,Javascript,Xml,我有一个JavaScript函数代码,希望在其中发出警报 function msg(x,y) { tempstr = x.value if(tempstr.length>y) { alert(c_AcknowledgementText); x.value = tempstr.substring(0,y); } } 现在我有一个xml,格式如下: <?xml version="1.0" encoding="utf-8" ?> <root> &
function msg(x,y)
{
tempstr = x.value
if(tempstr.length>y)
{
alert(c_AcknowledgementText);
x.value = tempstr.substring(0,y);
}
}
现在我有一个xml,格式如下:
<?xml version="1.0" encoding="utf-8" ?>
<root>
<key name="c_ContactUsHeading">Contact Us</key>
<key name="c_AcknowledgementText">Comments can not be more than 250 characters.</key>
</root>
联系我们
注释不能超过250个字符。
我需要JavaScript代码,以便可以从上面的xml键名“c_AcknowledgementText”读取上述警报中显示的消息
我希望我的问题已经清楚了。您必须解析XML文件以获取c_AcknowledgementText(可以是JavaScript,也可以使用服务器端语言,并在页面加载时将其存储到JavaScript中)。第一步是获取XML文档的DOM引用。一种方法是使用Ajax。在这种情况下,服务器需要使用内容类型:text/xml头进行响应
$.ajax({
type: "GET",
url: "/path/to/my.xml",
dataType: "xml",
success: function(doc){
var keys = doc.getElementsByTagName('key');
if (keys.length > 0) {
for (var i=0; i<keys.length; i++) {
if (keys[i].getAttribute('name') == 'c_AcknowledgementText') {
alert(keys[i].innerHTML);
}
}
}
}
});
$.ajax({
键入:“获取”,
url:“/path/to/my.xml”,
数据类型:“xml”,
成功:功能(doc){
var keys=doc.getElementsByTagName('key');
如果(keys.length>0){
对于(var i=0;i基本上,您希望使用XMLHttpRequest,但不确定您想用tempstr做什么,等等
function msg(x,y)
{
tempstr = x.value;
if(tempstr.length>y)
{
var req = new XMLHttpRequest();
req.open('GET', '/file.xml', true);
req.onreadystatechange = function (aEvt) {
if (req.readyState == 4) {
if(req.status == 200)
{
var keys = req.responseXML.getElementsByTagName("key");
for(var i = 0; i < keys.length; i++)
{
var key = keys[i];
if(key.getAttribute("name") == "c_AcknowledgementText")
{
alert(key.textContent);
break;
}
}
}
else
alert("Error loading page\n");
}
};
req.send(null);
x.value = tempstr.substring(0,y);
}
}
函数消息(x,y)
{
tempstr=x.value;
如果(临时长度>y)
{
var req=新的XMLHttpRequest();
打开('GET','/file.xml',true);
req.onreadystatechange=功能(aEvt){
如果(req.readyState==4){
如果(请求状态==200)
{
var keys=req.responseXML.getElementsByTagName(“key”);
对于(变量i=0;i
可以使用jquery完成吗?如果可以,请给我代码如何对XML文档进行dom引用?请帮助我更新了答案,以包含jquery AJAX功能。用实际路径替换/path/to/my.XML。谢谢Matthew,但我的代码没有进入if(req.readyState==4),请建议?可以使用JQuery吗?是的,您可以使用JQuery。但是您可能想先了解发生了什么。是否有任何错误?是否检查了路径是否正确?