views:

944

answers:

2

Using JQuery, how would I call a JSONP API that required basic authentication?

Can I programatically handle this, or does the user have to interact and enter the username and password into the logon dialog?

A: 

it is a little confusing since http://docs.jquery.com/Ajax/jQuery.getJSON doesn't have the same options as docs.jquery.com/Ajax/jQuery.ajax

Mike Chelen
+2  A: 

The JSONP request does not use the XMLHttpRequest Object / System. Hence there is no way to do this directly.

I tried several times the approach mentioned in FinnNk's answer, but finally gave up after reading this discussion on the JQuery mailing list.

Update

When I said "no way to do this directly", what I meant is:

  • You can't programmatically set the HTTP auth credentials (However, most browsers I have tested will prompt the user for credentials)
  • If you don't want the user to enter the credentials manually, you need to use a server to proxy your request. See this blog post for an excellent description and example.
HRJ
Your link is broken. Good observation however re XMLHttpRequest. Not sure why @FinnNk's answer would have been accepted.
Crescent Fresh
@CrescentFresh Have corrected the link.
HRJ