我正在对这样的Web服务进行JQuery ajax调用:
$.ajax({
type: "POST",
url: "https://WebsiteName.com/Service.asmx/LoginExternal",
data: "{loginData: " + JSON.stringify(LoginData) + "}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
... Stuff ...
},
error: {
... Error Alert ...
}
});
当我在实际的网站上时,这成功了。当我在localhost上并使用相对路径时,它会成功。但是,当我尝试从localhost访问网站(使用绝对路径)时,我收到呼叫失败的错误消息。
这似乎表明它是一个权限问题,我已经确保web.config不需要身份验证来访问Web服务,但我不确定还要检查什么。任何帮助将不胜感激!
更新:我得到的“抛出错误”是“没有运输” - 希望这会有所帮助。
答案 0 :(得分:1)
答案 1 :(得分:1)
作为一种不安全的脚本逻辑,由于未经身份验证和未加密的请求,使用JavaScript(或JQuery)发出的ajax请求被置于同一主机,协议和端口上。
将请求传递到其他主机的方法,您必须实现以安全语言(例如Java)编写的桥接服务,部署在将您的请求进一步传递给您的服务的同一主机上,然后将响应传递给您的ajax调用
您的ajax呼叫将在桥接服务上。