我正在尝试使用JQuery中的webservices从Data Virtualization视图中检索值列表。这就是我现在所拥有的,我从alert(xhr.error)获得。你们中的任何人都可以帮助我解决任何我可能忽视的明显事物吗?非常感谢
<script src="/jquery-1.11.1.js"></script>
<script src="/jquery.SPServices-2014.02.min.js"></script>
<script type="text/javascript" language="javascript">
$(document).ready(function() {
$.ajax({
type: "POST",
url: "http://xxx/soap11/ValidateSourceCode?wsdl",
username: "xyz",
password: "xyz",
dataType: "xml",
data: {},
processData: false,
contentType:"text/xml; charset=\"utf-8\"",
success: function (msg) {
alert($(msg).text());
//console.log($(msg).text());
},
error: function(xhr, status, error){
alert(xhr.status);
alert(xhr.error);
}
}); });
</script>
答案 0 :(得分:0)
查看调试器中的网络选项卡。由于同源策略,您可能会收到400错误。它基本上意味着您不能向不同于托管应用程序的服务器发出ajax请求。
https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy
答案 1 :(得分:0)
如果您只是从服务方法获取数据,则可以执行“GET”
$.ajax({
type: "GET",
url: "http://xxx/soap11/ValidateSourceCode?wsdl",
data: {},
contentType:"text/xml; charset=\"utf-8\"",
success: jqSuccess,
error: jqError
});
或者您可以尝试使用jquery.soap https://github.com/doedje/jquery.soap/blob/master/README.md
答案 2 :(得分:0)
你在jQuery中得到了一个wsdl(= soap webservice)?你必须使用SoapClient,例如php Soapclient。
再次打电话给你的ajax:
$.ajax({
type: "GET",
url: "/api/yourLocalSoapClient.php",
data: {query:'testApi'},
contentType:"text/xml; charset=\"utf-8\"",
success: jqSuccess,
error: jqError
});
将用户名/密码放入php脚本中,然后使用SoapClient:
http://php.net/manual/fr/class.soapclient.php
您可以尝试使用jQuery soapclient:https://github.com/doedje/jquery.soap
但如果它是公共应用程序,这是禁止的,它将公开您的webservice的用户/密码,使用php,并返回您自己的json。