繁体   English   中英

.ashx处理程序在服务器上不起作用,仅在本地工作

[英].ashx Handler not working on Server, Only works locally

进行此ajax调用

    var request = $.ajax({
    type: 'POST',
    url: "http://localhost/thcstore/AJAX/AjaxHawleySS.ashx",
//  url: "http://www.myrealsite.com/thcstore/AJAX/AjaxHawleySS.ashx",
    data: { Name: $('#Name').val(), ShopName: $('#ShopName').val(), StreetAddress: $('#StreetAddress').val(),
        City: $('#City').val(), State: $('#State').val(), ZipCode: $('#ZipCode').val(),
        PhoneNumber: $('#PhoneNumber').val(), ProductType: $('#ProductType').val(), Vendor: $('#Vendor').val(), model: $('#model').val(), Issue2: $('#Issue2').val(), email: $('#email').val()
    },  
    success: function (data){

    }
});

当我在本地计算机(本地主机)上运行我的网站但不在我的真实网站上运行时,此呼叫有效。 我可以导航到我的生产站点(www.myrealsite.com/thcstore/AJAX/AjaxHawleySS.ashx),而无需传递变量,并且它不会引发任何http错误。 但是,如果我尝试传递任何数据,则会给我一个http 500内部服务器错误。 Ajax调用与myrealsite来自不同的域。

*.ashx在实时服务器上不起作用。 经过一整天的研究,我得出的结论是,如果您的站点运行在“ HTTPS”协议上,或者您已将协议http更改为https,则*.ashx文件将不会执行。

因此,将https更改为http, *.ashx可以正常工作。

我希望这会有所帮助。

也许您已经解决了这个问题,但是我注意到您的帖子中的客户端代码中,您使用的是针对localhost的固定URL,即客户端浏览器将尝试访问localhost而不是您的活动域。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM