我是AJAX的新手,正在尝试通过以下代码访问我们的WSDL数据库。当我运行它时,Firefox调试器说“[10:27:42.805] ReferenceError:$未定义@ http://newsite.wrapcompliance.org/ajaxtest.html:14”:思考?
<h3>jQuery Test</h3>
<script type="text/javascript">
function callService()
{
$.ajax
({
url: "http://newsite.wrapcompliance.org/FactoriesWS.wsdl",
type: "POST",
dataType: "xml",
data: {"countryCd":"BGD"},
contentType: "text/xml; charset=\"utf-8\"",
success: onSuccess,
error: onError
});
return false;
}
function onSuccess(data, status)
{
alert("It worked!!");
}
function onError(request, status, error)
{
alert("It didn't work!!!");
}
</script>
<form method="post" action="">
<input type="button" value="Do it now!!" onclick="callService(); return false"/>
</form>
</body>
</html>
答案 0 :(得分:1)
您的错误是实际上没有jQuery存在的结果。我查看了你的示例网站,jquery在firebug的网络标签中扔了一个404,意思是没找到它。确保它指向正确的本地目录。目前正在寻找http://newsite.wrapcompliance.org/jquery-1.9.1.min.js
也就是说,调用wsdl本身很可能会返回wsdl的xml摘要页面,而不是暴露的服务。我建议将暴露的wsdl端点包装在restful服务中。我已经使用WebAPI RESTful服务多次完成这项工作,并且它总是占用大量的头脑。