.ashx处理程序不在Server上工作,只在本地工作

时间:2014-03-20 15:31:26

标签: jquery asp.net ajax iis-7 ashx

进行此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的同一域。

2 个答案:

答案 0 :(得分:0)

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

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

我希望这会有所帮助。

答案 1 :(得分:-1)

也许您已经解决了这个问题,但我注意到在您帖子中的客户端代码中,您使用的是定位到localhost的固定网址,即客户端浏览器会尝试访问localhost而不是您的实时域名。