我在一个 ASP.NET 网站上工作,我需要从外部url 获取 XML。它使用 ASP.NET MVC 效果很好,XmlDocument
但现在我需要解析 XML 而无需再次访问服务器,因此是客户端。我想做的一个例子:
假设我们有 3 个<select>
下拉列表,第一个包含所有汽车制造商,第二个包含所有汽车型号,第三个包含所有类型。因此,当页面加载时,我们有第一个包含所有汽车制造商的下拉菜单,而其他两个被禁用。当我选择一个品牌时,我想加载所选品牌的所有模型(下拉菜单 3 仍然禁用)。然后当我选择汽车模型时,我想加载所选模型的所有类型。
所有品牌都可以由 ASP.NET 加载,XmlDocument
它已经可以正常工作,但其他数据需要在客户端解析。我用jQuery试过这个:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR...nsitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$.ajax({
type: "GET",
url: "-- hidden --",
dataType: "xml",
success: parseXml
});
function parseXml(xml){
$(xml).find("Make").each(function(){
$("#output").append($(this).find("carmake").text() + "<br />");
});
}
});
</script>
</head>
<body>
<div id="output"></div>
</body>
</html>
但这不起作用。我读了很多关于使用 sulution 的问题,crossDomain: true
但这dataType: jsonp
也不起作用。我还阅读了我从需要支持中获取 XML 的服务器jsonp
,但是我无法对此做些什么,因为它不是我的服务器,而是一个 Web 服务。
您可能已经看到,获取所有品牌的示例网址是-- hidden --/make.alx
. 然后当用户选择一个品牌时,我可以通过在 url 中发送 carcode 来获取该品牌的型号,例如:-- hidden --/model.alx?carcode=2
所以简而言之,问题是:如果可能的话,我怎样才能让这个工作与 jQuery 一起工作,如果没有,我怎样才能让这个工作以另一种方式工作?我有一个很好的方法可以使用 ASP.NET MVC 做到这一点,但无需重新加载整个页面?
这个网站是我想要的一个很好的例子。正如您在标题下方看到的那样,您可以选择汽车品牌、型号和类型。
提前致谢!