jquery官网的代码与微软的ajax的jquery代码有何区别?
本帖最后由 goodnew 于 2012-09-30 00:46:38 编辑 写了一个jquery读取webservices 代码,用微软的jquery 好用,jquery 官网的就不行,而且这页代码只有在ie浏览器中好使,非ie就不行。代码目的是读取一个城市的webservices ,获取城市名后,填充的页面一个选择控件中,使用jquery ajax实现的。希望知道原因的指点一下,怎么用jquery官网的代码实现,并且兼容非ie?
整个页面代码如下,复制成一个网页就可以运行.
<!DOCTYPE>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>JQuery AJAX示例代码</title>
<script src="http://code.jquery.com/jquery-1.8.2.min.js" type="text/javascript"></script>
<!--<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>-->
<!--<script src="http://ajax.microsoft.com/ajax/jquery/jquery-1.4.4.min.js" type="text/javascript"></script>-->
<script>
$(function () {
var xmlWebServices ="http://www.webxml.com.cn/webservices/weatherwebservice.asmx/getSupportProvince";
$.ajax({
type: "post",
url: xmlWebServices,
datatype: "xml",
success: function (result) {
$(result).find("string").each(
function () {
//$(this).text()的“text”方法可以获取html容器和xml容器的文字
$("#selProvinces").append("<option value='" + $(this).text() + "'>" + $(this).text() + "</option>");
});
}
});
})
</script>
<style type="text/css">
#selProvinces
{
width: 227px;
}
</style>
</head>
<body>
请选择你需要的省(市):<select id="selProvinces">
</select><br />
</body>
</html>
[解决办法]
如果WebServices是公开的,你可以考虑将读取这个WebServices的方法移至后台,然后前面直接读取本站内的页面,就不存在跨域了。中转一下吧
[解决办法]
你是本地浏览吧,没有发布站点通过http访问。
本地浏览IE可以跨域获取数据,非IE核心浏览器都不行。
如果是发布了通过http方法,ie,firefox都不行,除非使用JSONP或者动态页设置过一个跨域允许的响应头,叫什么给忘记了。并且设置响应头的方法部分浏览器支持,对象也不一样,IE8使用的是XDomainRequest