我开发了一个使用Ajax POST的网站,使用jQuery到PHP服务器。
虽然从家中的Web浏览器访问它时效果很好,但是当我从我日间工作的公司网络上的Web浏览器访问时,我的一些Ajax请求失败,并且我收到了Firebug显示的以下错误:407 Proxy Authentication Required ( Forefront TMG requires authorization to fulfill the request. Access to the Web Proxy filter is denied. )
。请注意,Chrome不会显示错误但仍会被阻止,IE11也会阻止它,但由于无关的问题(Error in jquery.validate.js in MVC 4 Project with jQuery 1.9),我无法使用开发工具查看该消息。
我无法修改公司网络上的任何内容,也不希望这样做。我希望修改我的服务器提供的HTML / JavaScript / Headers,以消除阻止请求,以便其他人不会遇到此问题。
可以做些什么?
答案 0 :(得分:0)
当您在html或jquery帖子中使用完整的网址时会发生这种情况 例如
action="http://www.example.com/mydir/myfile.php"
尝试更改网址引用,以便它不包含网站地址 e.g。
action="/mydir/myfile.php"
使用AJAX / jquery发布时也适用 例如下面的代码产生相同的错误
var url1="http://www.example.com/mydir/myfile.php";
$.post(url1, function(data){alert(data);});
但是这段代码没有
var dir1="/mydir/myfile.php";
$.post(dir1, function(data){alert(data);});
请务必注意,当您从完整的URL切换到目录时,必须相对于当前文件目录定义目录。