从jQuery调用PageMethod时出现未经授权的错误?

时间:2012-11-11 05:00:28

标签: jquery

我正在尝试使用来自html页面的jQuery在aspx页面中执行PageMethod,这在我的本地机器上运行良好。但是,当我将网页部署到远程生产Web服务器时,当执行ajax请求时,我收到401 Unauthorized Error。我的代码如下。

                  $.ajax({
                        type: 'POST',
                        url: 'SupplierMethods.aspx/GetAgeSummaryForPendingDocuments',
                        data: "{ 'supplierId': '" + vid + "'}",
                        dataType: 'json',
                        timeout: 180000, //3 minutes is timeout for this ajax request
                        contentType: "application/json; charset=utf-8",
                        beforeSend: function () {

                        },
                        success: function (json) {
                            stats = json.d.StatsBuckets;
                         },
                        error: function (xhr, textStatus, errorThrown) {
                            alert('An error occurred! ' + (errorThrown ? errorThrown : 
                            xhr.satus));
                        }

                    });
                });   

更新:我的问题是由于一些非常微不足道的事情。我复制了网站到远程服务器,但忘了复制dll的。 PageMethod在ASP.Net网站中被编译成一个dll,因为它丢失了,所以通过jQuery ajax调用PageMethod会带来一条错误信息。所以似乎AJAX的jQuery API都可以。

1 个答案:

答案 0 :(得分:0)

我收到401错误,因为ASP.Net网站中包含我使用jQuery ajax调用的PageMethod的新dll未部署到远程服务器。 故事的寓意是 - 始终谨慎部署您的网站,这样您就不会错过任何文件。

还要确保在jQuery中调用ajax的语法符合语法。