1

I have developed a website which uses Ajax POST using jQuery to a PHP server.

While it works perfectly when accessed from a web browser at home, some of my Ajax requests fail when accessed from a web browser on my day job's corporate network, and I get the following error shown by Firebug: 407 Proxy Authentication Required ( Forefront TMG requires authorization to fulfill the request. Access to the Web Proxy filter is denied. ). Note that Chrome does not show the error but it is still blocked, and IE11 blocks it as well but I haven't been able to view the message using Development Tools due to an unrelated issue (Error in jquery.validate.js in MVC 4 Project with jQuery 1.9).

I have no ability to modify anything on the corporate network, nor is it my desire to do so. My desire is to modify the HTML/JavaScript/Headers which my server provides to eliminate blocking of the request so others do not experience this issue.

What can be done?

Community
  • 1
  • 1
user1032531
  • 24,767
  • 68
  • 217
  • 387

1 Answers1

0

This happens when you are using a complete url address in your html or jquery posts e.g.

action="http://www.example.com/mydir/myfile.php"

Try changing the url reference so that it doesn't include the website address e.g.

action="/mydir/myfile.php"

This also works when posting with AJAX/jquery e.g. the code below produces the same error

var url1="http://www.example.com/mydir/myfile.php";
$.post(url1, function(data){alert(data);});

but this code doesn't

var dir1="/mydir/myfile.php";
$.post(dir1, function(data){alert(data);});

It is important to note that when you switch from the complete urls to the directories, you have to define your directory relative to your current file directory.

demongolem
  • 9,474
  • 36
  • 90
  • 105