如何解决尝试访问Web API时GET无法正常工作
我在.net中编写了一个简单的Web api,并在Windows 10上的iis下创建的网站上运行它。如果将URL放入Chrome“ https:// localhost:64591 / api / custom”中,则json传递从数据库调用的记录。没问题。
我将相同的URL放入XMLHttpRequest对象,并且onload事件从未发生。作为测试,我用已知有效的外部URL替换了URL。 onload事件触发,响应对象工作。 iis似乎正在发生某些情况,并且阻止了“获取”请求。
下面是代码。这是有效的外部url:https://ghibliapi.herokuapp.com/films ..... 通过iis访问api肯定有问题。
var request = new XMLHttpRequest();
request.open('GET','https://localhost:64591/api/custom',true)
request.onload = function ()
{
alert(this.response);
}
request.send();
解决方法
尝试一下,为我工作(如果您也想评论,请使用python服务器)
url="127.0.0.1"; // or your loaclhost etc
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
var response = xhttp.responseText;
}
};
xhttp.open("GET",url,true);
xhttp.send();
,
您可能有CORS问题。
尝试让服务器将Access-Control-Allow-Origin: *
发送回标头。
我对IIS几乎一无所知,但是this可能会有所帮助。
,看起来这是CORS问题。我可以从html页面执行GET和POST,只要该页面来自与我的Web api相同的服务器即可,并且我不在字符串“ api / custom”中提到服务器,而不是在“ https:// localhost” :64591 / api / custom'。我可以接受,因为我只是在练习Web API。虽然有时我必须学习如何在iis中配置CORS模块。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。