如何在 Web 应用程序中使用 jQuery Ajax 使用 Web 服务 asp.net
本文关键字:Web 使用 Ajax 服务 jQuery asp net 应用程序 | 更新日期: 2023-09-27 17:55:29
我无法使用jquery ajax使用Web服务,但可以使用C#语言。 这是我的 jquery Ajax 代码'
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script src="jquery-3.0.0.js"></script>
<script>
$(document).ready(function(){
var url = "http://192.xxxx.xx.xx:10000/service1.asmx/GetJsonData";
$.ajax({
type: "GET",
url: url,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
alert("hii");
alert(data.d)
},
error: function (xmlHttpRequest, textStatus, errorThrown) {
alert("error");
}
});
})
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
</form>
</body>
</html>
The above code is not working but when i am trying the same using C# language it is working fine.
错误是:网络错误:IE 浏览器中的 Acess 被拒绝。
谷歌浏览器中的错误如下所示。XMLHttpRequest 无法加载 http://192.xxxx.xx.xx:10000/service1.asmx/GetJsonData.No 请求的资源上存在"访问控制允许源"标头。因此,不允许访问源"http://localhost:49951"。
`
从本质上讲,这是一个 Ajax 问题,与 C# 无关。看看这里:"请求的资源上不存在'访问控制-允许源'标头"
可能的问题
似乎是与 CORS 相关的问题。
从链接:
出于安全原因,浏览器会限制跨源 HTTP 请求 从脚本中启动。
当您尝试从一个域访问另一个域的资源时,会发生这种情况。示例:twitter.com 中尝试访问 facebook.com API 终结点的脚本。
可能的解决方案
如果是这种情况:
- 如果您控制服务器,则可以根据需要设置访问控制允许源。
- 如果不控制服务器,则可以查看为请求提供服务的 Web 应用程序是否有任何方法允许来自其他域的请求
- 根据提供的 OAuth 令牌设置适当的访问控制允许源
- 在 IFrame 中加载来自目标 Web 应用程序的页面,这将代表您发出请求。使用浏览器的消息传递 API 与 IFrame 通信。