用的是Ajax异步方式,调用新浪的的api,返回的数据是这样的:
{"urls":[
{"result":true,"url_short":"http://t.cn/zWXySp","url_long":"http://www.cnblogs.com/e21684","type":0},
{"result":true,"url_short":"http://t.cn/zWX5FF","url_long":"http://www.cnblogs.com/e21156","type":0}
]}不想用第三方库,请问有什么简单的方法吗?可以兼容主流浏览器的。谢谢啦

解决方案 »

  1.   

    我用的是xmlHttp.responseText,但具体的不知道该怎么获取数据,比如获取第一个url_short的值大神在哪里?
      

  2.   

    我觉得用jquery就没那么多事了
      

  3.   

    额,自己写了种方法
    var json=xmlHttp.responseText;
    var data=eval("("+json+")");
    alert(data["urls"][0]["url_short"]);
    为什么只能在IE下用,谷歌就不行呢?
      

  4.   

    楼主 我建议你这种没办法做的。。跨域了!我以前也有准备做MP3音乐播放器。。ajax获取。。可以取得。但是还是行不通
      

  5.   

    额,那该怎么办?这是API接口返回的数据,我要用什么方法获得呢?
      

  6.   

    NO way。除非那个网站你有权限!
      

  7.   

    你现在这个返回的数据不就是JSON了。用eval 可以将他转成对象
      

  8.   

    console.log(xmlHttp.responseText) 谷歌下 打印出来看
      

  9.   

    楼主还是用jquery 吧,能够兼容的 
      

  10.   

    evar("response = " + xmlHttp.responseText)
      

  11.   

    自己做代理,要不就只能新浪的API接收你发送的回调参数名称,你就可以使用jsonp操作了,就是用script标签加载跨域的页面获取返回的json数据
      

  12.   

    这样子应该就可以了吧,试试data["urls"][0].url_short吧 
    都不知道楼上说的是啥,楼主的问题都没看清楚就回答
      

  13.   


    这是谷歌DeveloperTools的提示:
    XMLHttpRequest cannot load [API地址] . Origin [调用页的地址] is not allowed by Access-Control-Allow-Origin.意思就是跨域了吧。