我尝试从Weather.asmx Web服务调用GetCityWeatherByZIP并获取未捕获的SyntaxError:意外的令牌< 错误。 任何人都可以就此问题提出建议吗?
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$.ajax({
type: "GET",
dataType: 'jsonp',
url: "http://wsf.cdyne.com/WeatherWS/Weather.asmx/GetCityWeatherByZIP",
data:{ZIP: 10007},
success : function(jsonp) {
alert (jsonp);
}
});
});
function processSuccess(response) { alert('success');
}
function processError(data) {
alert('err'+data);
//alert(req.responseText + " " + status);
}
</script>
</head>
<body>
<input id="btnCallWebService" value="Call web service" type="button" />
<div id="response" ></div>
</body>
答案 0 :(得分:2)
您告诉jQuery将响应作为JSONP处理,但Web服务正在返回XML。
JSONP通过加载JavaScript程序(带有嵌入数据)来工作,而你得到的错误是因为XML以<
开头,而{{1}}不是可以启动JavaScript程序的字符。
将您的请求更改为期望XML或更改Web服务以使用JSONP进行响应。
答案 1 :(得分:-1)
webservice返回XML响应,您尝试将其解析为JSONP