从同一服务器上的经典asp https://站点调用aspx Web服务/页面

时间:2011-03-11 18:34:15

标签: .net ajax

我有一个在SSL下运行的ASP应用程序,我希望通过使用JQuery / Ajax进行扩展,并且我认为我将在.NET中编写由它调用的方法,托管在同一台服务器上。我该如何设置?它应该在SSL域内吗?

1 个答案:

答案 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请求(这被视为违反了相同的源策略)。