jQuery .ajax call to bit.ly returns results in IE but not FF or Chrome
Posted
by Ian Quigley
on Stack Overflow
See other posts from Stack Overflow
or by Ian Quigley
Published on 2010-04-08T15:44:54Z
Indexed on
2010/04/09
11:23 UTC
Read the original article
Hit count: 416
I am trying to call to the bit.ly URL shortening service using jQuery with an .ajax call.
<html><head>
<script type="text/javascript" src="http://www.twipler.com/settings/scripts/jquery.1.4.min.js"></script>
<script type="text/javascript">
jQuery.fn.shorten = function(url)
{
var resultUrl = url;
$.ajax(
{
url: "http://api.bit.ly/shorten?version=2.0.1&login=twipler&apiKey=R_4e618e42fadbb802cf95c6c2dbab3763&longUrl=" + url,
async: false,
dataType: 'json',
data: "",
type: "GET",
success:
function (json) { resultUrl = json.results[url].shortUrl; }
});
return resultUrl;
} ;
</script></head><body>
<a href="#"
onclick="alert($().shorten('http://amiconnectedtotheinternet.com'));">
Shorten</a> </body> </html>
This works in IE8 but does not work in FireFox (3.5.9) nor in Chrome. In both cases 'json' is null.
Headers in IE8
GET http://api.bit.ly/shorten?ver..[SNIP]..dtotheinternet.com HTTP/1.1
Accept: application/json, text/javascript, */*
Accept-Language: en-US
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0;
SLCC2; .NET CLR 2.0.50727; Media Center PC 6.0; InfoPath.2;
.NET CLR 1.1.4322; .NET CLR 3.5.30729; .NET CLR 3.0.30729)
Host: api.bit.ly
Connection: Keep-Alive
Headers in Chrome
GET http://api.bit.ly/shorten?versio..[SNIP]..nectedtotheinternet.com HTTP/1.1
Host: api.bit.ly
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/532.5
(KHTML, like Gecko) Chrome/4.1.249.1045 Safari/532.5
Origin: file://
Accept: application/json, text/javascript, */*
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
So the only obvious difference is that Chrome is sending "Origin: file://" and I've no idea how to stop it doing that.
© Stack Overflow or respective owner