0

我是 AJAX 新手,正在尝试通过以下代码访问我们的 WSDL 数据库。当我运行它时,Firefox 调试器显示“[10:27:42.805] ReferenceError: $ is not defined @ 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>
4

1 回答 1

1

您的错误是实际上没有 jQuery 存在的结果。我查看了您的示例站点,jquery 在 firebug 的 net 选项卡中抛出了 404,这意味着它没有找到。确保它指向正确的本地目录。目前它正在查看http://newsite.wrapcompliance.org/jquery-1.9.1.min.js

也就是说,调用 wsdl 本身很可能会返回 wsdl 的 xml 摘要页面,而不是公开的服务。我建议将暴露的 wsdl 端点包装在 restful 服务中。我已经多次使用 WebAPI RESTful 服务完成了这项工作,而且总能从头疼中解脱出来。

于 2013-03-20T14:35:34.973 回答