gpt4 book ai didi

javascript - 跨域消费WebService

转载 作者:行者123 更新时间:2023-12-03 10:04:33 28 4
gpt4 key购买 nike

应该很简单。我读过很多关于跨域使用 Web 服务和 JSONP 使用的文章,但我缺少一些东西。

如果我在 Web 浏览器中调用以下 URL,我可以获得结果: http://benfaniz.com.br/WebService.asmx/AAA_Buscar_Nome_Condominio?callback=?

为了使用 jQuery 使用它,我使用:

    $(document).ready(function() {
var surl = "http://benfaniz.com.br/webservice.asmx/AAA_Buscar_Nome_Condominio";
$.ajax({
type: 'POST',
url: surl,
dataType: "jsonp",
success: function(msg) {
alert(msg.data);
},
error: function(xhr, status, error) {
alert("error");
}
});
});

这是JS Fiddle

但是我总是收到错误?有什么问题吗?

<小时/>

更新

我可以使用以下代码获取 URL 的内容(取自 here )

    $(document).ready(function() {


var theUrl = "http://benfaniz.com.br/WebService.asmx/AAA_Buscar_Nome_Condominio?callback=?"

if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
alert(xmlhttp.responseText);
}
}
xmlhttp.open("GET", theUrl, false );
xmlhttp.send();


});

请查看 JS Fiddle

最佳答案

我能做到。我发现这个问题here这给了我方向。

主要问题是我得到的是 XML 结果而不是 JSON。要更改此设置,我必须添加行 contentType: "application/json; charset=utf-8"

最终代码如下:

$(document).ready(function() {
var surl = "http://benfaniz.com.br/webservice.asmx/AAA_Buscar_Nome_Condominio";
$.ajax({
url: surl,
contentType: "application/json",
dataType: "json",
success: function (json) {
alert(json.d);
},
error: function (xhr) {
alert("ERRO");
}
});
});

JS Fiddle

关于javascript - 跨域消费WebService,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30420150/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com