[英]Form validate PreventDefault works only locally but not on the server
[英].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.