我有一个在SSL下运行的ASP应用程序,我希望通过使用JQuery / Ajax进行扩展,并且我认为我将在.NET中编写由它调用的方法,托管在同一台服务器上。我该如何设置?它应该在SSL域内吗?
答案 0 :(得分:1)
这是一个example。使用[ScriptService]
属性装饰Web服务,然后调用它:
$.ajax({
type: 'POST',
url: '/WebserviceName.asmx/MethodName',
data: JSON.stringify({
Parameter1: 'foo',
Parameter2: 'bar'
}),
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function(json) {
// TODO: do something with the result
}
});
您可以使用PageMethods的ASPX页面执行相同操作。
唯一的要求是客户端托管在同一个域中,并且不违反same origin policy。因此,例如,如果.NET页面托管在HTTPS上,而您的客户端页面托管在HTTP上,则无法发送AJAX请求(这被视为违反了相同的源策略)。