我开发了一个网站,该网站使用jQuery对PHP服务器进行Ajax POST。
虽然从家里的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也阻止了它,但由于一个无关的问题,我无法使用开发工具查看消息(jquery 1.9的MVC 4项目中的jquery.validate.js中的错误(。
我没有能力在公司网络上修改任何内容,我也不想这样做。我的愿望是修改我的服务器提供的HTML/JavaScript/Headers,以消除对请求的阻塞,这样其他人就不会遇到这个问题。
能做些什么?
当您在html或jquery帖子中使用完整的url地址时,就会发生这种情况例如
action="http://www.example.com/mydir/myfile.php"
尝试更改url引用,使其不包括网站地址例如
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切换到目录时,您必须定义相对于当前文件目录的目录。