有人通过以下链接发布了以下解决方案来解决此问题中的Web服务:
How to use jQuery to call an ASP.NET web service?
function InfoByDate(sDate, eDate){
var divToBeWorkedOn = '#AjaxPlaceHolder';
var webMethod = 'http://MyWebService/Web.asmx/GetInfoByDates'
var parameters = "{'sDate':'" + sDate + "','eDate':'" + eDate + "'}"
$.ajax({
type: "POST",
url: webMethod,
data: parameters,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
$(divToBeWorkedOn).html(msg.d);
},
error: function(e){
$(divToBeWorkedOn).html("Unavailable");
}
});
}
这一切顺利,我想要的数据被返回,但是,我总是收到来自IE的警告'这个页面正在访问不受其控制的信息。这会带来安全风险等等,而且由于“安全违规”错误,Opera无法加载信息。
我如何克服这个问题 - 我真的需要坚持使用javascript,因为代码必须放在我无法访问服务器编程工具的页面中。
谢谢大家。
答案 0 :(得分:1)
您只能从本地域访问网络服务。您必须在本地创建一个传递从该远程Web服务返回的数据的代理。也就是说,如果Web服务实际上是远程的。如果不是,请使用ws的相对或绝对路径。